我们在第一次使用
requests-html
中render
函数的时候,当你第一次调用render()方法时,代码将会自动下载Chromium,并保存在你的根目录下(如:~/.pyppeteer/)。它只会下载这一次。唯一缺点就是chromium
下载实在太慢了,下载过程容易出现超时现象导致失败。
第一种解决方案
修改Pyppeteer
中的下载路径,因为默认的下载路径不能访问,原因你懂的。
这里介绍的是PyCharm
中的使用方法:
- 找到
pyppeteer
如果没有找到请安装pip install pyppeteer
- 找到
downloadURLs
修改成对应系统和对应的版本(我这里是mac系统,选择的是最新版本。淘宝镜像chromium: https://npm.taobao.org/mirrors/chromium-browser-snapshots) - 然后再次运行你的程序就可以了。
测试成功与否
from requests_html import HTMLSession
session = HTMLSession()
r = session.get('https://www.baidu.com/text/')
r.html.render()
print(r.html.html)
第二种方案
直接在shell中输入 pyppeteer-install
$ pyppeteer-install
[W:pyppeteer.chromium_downloader] start chromium download.
Download may take a few minutes.
[W:pyppeteer.chromium_downloader] chromium download done.
[W:pyppeteer.chromium_downloader] chromium extracted to: C:\Users\xxxx\.pyppeteer\local-chromium\571375
安装完成即可
现在,你应该可以成功执行与req.html.render()相似的或者包含它的代码了:
from requests_html import HTMLSession
session = HTMLSession()
r = session.get('https://www.baidu.com/text/')
r.html.render()
print(r.html.html)
测试结果
关注公众号回复:"1024
",免费领取一大波学习资源,先到先得哦!
来源:oschina
链接:https://my.oschina.net/u/4399909/blog/3234657