这篇还是继续我们的页面解析,如果承接前面几篇的话,大家可能会认为这次说的是pyquery,经我这一说就不是这样的了,今天介绍一个更加好用的一个库:requests-html
1.request-html介绍
首先先简单介绍一下,requests-html就是requests的作者开发的,将Requests、PyQuery、lxml、BeautifulSoup等库进行了二次封装,本身Requests库已经够简单、够强大了,requests-html又做了一次升级。。。他的强大可见一斑,遗憾的是只支持Python3.6以上版本。想要详细了解的可以去git或文档那看:
源码请看:github地址
中文文档:中文文档地址
重要的可以引用文档开始这几句话来表示:
全面支持解析JavaScript!
CSS 选择器 (jQuery风格, 感谢PyQuery).
XPath 选择器, for the faint at heart.
自定义user-agent (就像一个真正的web浏览器).
自动追踪重定向.
连接池与cookie持久化.
令人欣喜的请求体验,魔法般的解析页面.
2.request-html安装
安装的话使用pip即可
pip install requests-html
3.request-html应用
首先来做个对比:平常做的时候我们是先发出请求,然后再进行解析:
import requests
from pyquery import PyQuery as pq
#获取网页
html = requests.get()
#解析网页
doc = pq(html)
我们再看一下requests-html:
from requests_html import HTMLSession
session = HTMLSession()
html = session.get()
很明显的改变,requests-html将请求跟解析合并到一块了,一步到位。
下面我们还是以猫眼TOP100来看下requests-html的用法
发出请求,获取页面信息:
from requests_html import HTMLSession
session = HTMLSession()
req_html = session.get("https://maoyan.com/board/4")
print(req_html)
看下返回:
<Response [200]>
网友评论