在之前写的爬虫入门里,PyQuery一笔带过,这次详细地讲一下。
为什么选择PyQuery?
Python爬虫解析库,主流的有
PyQuery
Beautifulsoup
Scrapy Selectors
正则表达式。
PyQuery和scrapy Selectors都是基于lxml模块,而lxml和正则表达式都是C语言写的,只有Beautifulsoup是用纯Python编写的,所以在实测中,Beautifulsoup 的解析速度比其他几种慢了5倍以上!
正则表达式的构造稍微复杂一点,一般在结构化的网页中没必要用正则(易出错)。Scrapy Selectors支持css,xpath以及正则表达式,PyQuery只支持css(我最开始学的是xpath,后来觉得css语法更精简一些)。Scrapy Selector中的css语法和PyQuery中的略有不同,本文以PyQuery为例(不用Scrapy框架的话,PyQuery就够用了)
如何使用?
首先在命令行里 pip install pyquery 安装一下
我们以果壳首页为例,首先引入,并将源代码实例化
import requests
from pyquery import PyQuery as pq
url = 'https://www.guokr.com/'
r = requests.get(url)
#实例化
doc = pq(r.text)
获取文本
例如你想要各个板块的名字