pip install requests-html
requests-html pip 安装时多出来的包(appdirs=1.4.3,cssselect=1.03,fake-useragent=0.1.11,parse=1.9.0,pyee=5.0.0,pyppeteer=0.0.25
,pyquery=1.4.0,requests_html=0.9.0,tqdm=4.28.1,w3lib=1.19.0,websockets=7.0)
requests-html 官方文档位置https://cncert.github.io/requests-html-doc-cn/#/?id=%e5%ae%89%e8%a3%85
requests-html 官方api 调用 https://html.python-requests.org/
from requests_html import HTMLSession
session = HTMLSession()
# 其中get请求中的参数和requests库中的get是一样的可以随意添加
r = session.get('http://www.runoob.com/python/python-func-iter.html')
# 查看页面内容
print(r.html.html)
# 返回页面的所有链接 返回一个列表
print(r.html.links)
# 返回页面所有的链接 自动转换成绝对路径
print(r.html.absolute_links)
# 寻找定位 只寻找一个 默认是fitst=False
xx = r.html.find('#id',first=True)
print(xx.text) # 提取文本
print(xx.attrs) # 提取参数 {'id':'id','class':'zzz'}
print(xx.html) # html <li id="about" class="zzz">123<img rec='></li>
print(xx.find('img')) # 获取指定子元素
print(xx.absolute_links) # 获取其中的绝对元素
# 在获取的页面中查找文本
print(xx.html.search('Python is a {} language')[0])
# css选择器示例
sel = 'body > div.application-main > div.jumbotron.jumbotron-codelines > div > div > div.col-md-7.text-center.text-md-left > p'
print(xx.html.find(sel, first=True).text)
# XPath
print(xx.html.xpath('a'))
r = session.get('http://python-requests.org/')
# 进行通过浏览进行js加载 第一次运行时它会后台 下载一个 Chrimium 浏览器 进行js加载用
r.html.render()