实战Python网络爬虫
上QQ阅读APP看书,第一时间看更新

第8章
爬虫库Requests-HTML

8.1 简介及安装

Requests-HTML是在Requests的基础上进一步封装,两者都是由同一个开发者开发。Requests-HTML除了包含Requests的所有功能之外,还新增了数据清洗和Ajax数据动态渲染。

数据清洗是由lxml和PyQuery模块实现,这两个模块分别支持XPath Selectors和CSS Selectors定位,通过XPath或CSS定位,可以精准地提取网页里的数据。

Ajax数据动态渲染是将网页的动态数据加载到网页上再抓取。网页数据可以使用Ajax向服务器发送HTTP请求,再由JavaScript完成数据渲染,如果直接向网页的URL地址发送HTTP请求,并且网页的部分数据是来自Ajax,那么,得到的网页信息就会有所缺失。而Requests-HTML可以将Ajax动态数据加载到网页信息,无需爬虫开发者分析Ajax的请求信息。

Requests-HTML的安装可使用pip指令完成,但Requests-HTML只支持Python 3.6以上的版本。本书以Python 3.7为例,在CMD窗口输入安装指令pip install requests-html,等待安装完成即可。

在CMD窗口进入Python交互模式,通过导入requests-html模块并输出模块里的属性DEFAULT_URL的属性值,从而验证requests-html模块是否安装成功,如下所示: