一些看法
使用
语法
(初始化,选择标签,遍历)
(对标签操作,伪类选择器,*eq()的使用)
代码
一些看法
关于数据提取的四个主流方法就回顾完了,当然不用也不必全会。个人认为正则是一定要OK的,其余三个拣一个上手即可。而剩余部分,总得达到“开书了然”的境界吧。毕竟说不定什么时候就需要阅览别人的代码,你怎么管得找人家用xpath呢还是用PyQuery呢?
这是最后一次在句子迷实战,此次目标书籍:《年华是无效信》——是我钟爱!
使用
语法
初始化
除了直接初始化拿到的网页,还可以有以下两种方法
a.直接获取网页(不建议,没有隐藏爬虫信息吧)
b.针对本地文件
下面,仍用之前使用过的残缺的爱丽丝文档演示
选择标签
遍历
返回的是一个迭代器
对标签操作
上述操作之后拿到的是由对象组成的列表,现在我们要对它进一步操作
class为title的标签下的内容
需要注意的是,如果返回的列表中对象不止一个,该方法默认只对第一个起作用;并且同BeautifulSoup一样,会自行补充缺失的标签。所以使用时,最好精确到返回对象只有一个,除非你很清楚自己在做什么
获取属性值的两种方法或者
也可以修改属性的值
如果标签的属性存在,就修改属性的值;如果属性不存在,就添加该属性和对应的值,其实虽然之前没说,但在BeautifulSoup中也能这样操作,但问题是意义呢?搞不懂。看样子我还需要更多的历练吧。
也能删除你定位的标签
提取标签中的文本信息
增删标签的class值/
伪类选择器
为了更精确定位元素,还有以下操作
定位第一个p标签
定位第最后一个p标签
定位索引大于2的p标签(从0开始计数)
定位第二个p标签
定位索引为偶数的p标签
定位文本信息中有“story”的p标签
*eq()的使用
区别于BeautifulSoup,我们拿到返回列表之后,不能单纯的使用列表的索引方式取出列表中的对象进行操作,这样返回的是字符串类型,需要用eq()
代码
领取专属 10元无门槛券
私享最新 技术干货