解决request-html chromium下载失败原因

我们在第一次使用requests-htmlrender函数的时候,当你第一次调用render()方法时,代码将会自动下载Chromium,并保存在你的根目录下(如:~/.pyppeteer/)。它只会下载这一次。唯一缺点就是chromium下载实在太慢了,下载过程容易出现超时现象导致失败。

第一种解决方案

修改Pyppeteer中的下载路径,因为默认的下载路径不能访问,原因你懂的。

这里介绍的是PyCharm中的使用方法:

  1. 找到pyppeteer 如果没有找到请安装 pip install pyppeteer
  2. 找到downloadURLs修改成对应系统和对应的版本(我这里是mac系统,选择的是最新版本。淘宝镜像chromium: https://npm.taobao.org/mirrors/chromium-browser-snapshots)
  3. 然后再次运行你的程序就可以了。

测试成功与否

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",免费领取一大波学习资源,先到先得哦!

关注我免费领取学习资料

猜你喜欢

转载自www.cnblogs.com/zhijieju/p/12707177.html