Python爬虫-PyQuery

一些看法

使用

语法

(初始化,选择标签,遍历)

(对标签操作,伪类选择器,*eq()的使用)

代码

一些看法

关于数据提取的四个主流方法就回顾完了,当然不用也不必全会。个人认为正则是一定要OK的,其余三个拣一个上手即可。而剩余部分,总得达到“开书了然”的境界吧。毕竟说不定什么时候就需要阅览别人的代码,你怎么管得找人家用xpath呢还是用PyQuery呢?

这是最后一次在句子迷实战,此次目标书籍:《年华是无效信》——是我钟爱!

使用

语法

初始化

除了直接初始化拿到的网页,还可以有以下两种方法

a.直接获取网页(不建议,没有隐藏爬虫信息吧)

b.针对本地文件

下面,仍用之前使用过的残缺的爱丽丝文档演示

选择标签

遍历

返回的是一个迭代器

对标签操作

上述操作之后拿到的是由对象组成的列表,现在我们要对它进一步操作

class为title的标签下的内容

需要注意的是,如果返回的列表中对象不止一个,该方法默认只对第一个起作用;并且同BeautifulSoup一样,会自行补充缺失的标签。所以使用时,最好精确到返回对象只有一个,除非你很清楚自己在做什么

获取属性值的两种方法或者

也可以修改属性的值

如果标签的属性存在,就修改属性的值;如果属性不存在,就添加该属性和对应的值,其实虽然之前没说,但在BeautifulSoup中也能这样操作,但问题是意义呢?搞不懂。看样子我还需要更多的历练吧。

也能删除你定位的标签

提取标签中的文本信息

增删标签的class值/

伪类选择器

为了更精确定位元素,还有以下操作

定位第一个p标签

定位第最后一个p标签

定位索引大于2的p标签(从0开始计数)

定位第二个p标签

定位索引为偶数的p标签

定位文本信息中有“story”的p标签

*eq()的使用

区别于BeautifulSoup,我们拿到返回列表之后,不能单纯的使用列表的索引方式取出列表中的对象进行操作,这样返回的是字符串类型,需要用eq()

代码

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180611G0EQR900?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券