使用requests-html库渲染html页面的时候,初次使用需下载 chromium 浏览器,但是这个地址是从国外下载的,所以慢的你怀疑人生,你懂得!
pyppeteer-install下载没反应,r.html.render() 下载无反应?看完这篇就能解决!
requests-html 是干什么用的呢?这个可以看之前这篇介绍https://www.cnblogs.com/yoyoketang/p/10663392.html
先下载requests-html库
遇到问题pip install requests-html==0.10.0 --index-url https://pypi.douban.com/simple
初次使用的时候,需先下载chromium 浏览器,下载方法有2种
第一种:使用命令行下载
>pyppeteer-install [W:pyppeteer.chromium_downloader] start chromium download. Download may take a few minutes.
如果一直出现 Download may take a few minutes.
很长时间不动,或者跟蜗牛爬的一样慢。
第二种:使用r.html.render() 下载
from requests_html import HTMLSession session = HTMLSession() r = session.get('https://www.cnblogs.com/yoyoketang/') r.html.render() # 首次使用,自动下载chromium
运行代码后,也跟上面一样出现 Download may take a few minutes.
很长时间不动,或者跟蜗牛爬的一样慢。
主要原因是下载地址是国外的!
替换下载源既然已经知道是下载地址的问题了,那么我们只需在源码里面找到对应的下载地址,替换国内的下载源即可。
打开pycharm,找到External Libraries> site-packages 下的pyppeteer包
修改 chromium_downloader.py 文件,找到如下内容修改
downloadURLs = { 'linux': f'{BASE_URL}/Linux_x64/{REVISION}/chrome-linux.zip', 'mac': f'{BASE_URL}/Mac/{REVISION}/chrome-mac.zip', 'win32': f'{BASE_URL}/Win/{REVISION}/{windowsArchive}.zip', 'win64': f'{BASE_URL}/Win_X64/{REVISION}/{windowsArchive}.zip', }
我的是windows 64位电脑,所以修改后为
downloadURLs = { 'linux': f'{BASE_URL}/Linux_x64/{REVISION}/chrome-linux.zip', 'mac': f'{BASE_URL}/Mac/{REVISION}/chrome-mac.zip', # 'win32': f'{BASE_URL}/Win/{REVISION}/{windowsArchive}.zip', # 'win64': f'{BASE_URL}/Win_X64/{REVISION}/{windowsArchive}.zip', 'win32': 'https://npm.taobao.org/mirrors/chromium-browser-snapshots/Win/575458/chrome-win32.zip', 'win64': 'https://npm.taobao.org/mirrors/chromium-browser-snapshots/Win_x64/575458/chrome-win32.zip', }
下面是各系统的chromium压缩包下载地址
- linux: https://npm.taobao.org/mirrors/chromium-browser-snapshots/Linux_x64/575458/chrome-linux.zip
- mac: https://npm.taobao.org/mirrors/chromium-browser-snapshots/Mac/575458/chrome-mac.zip
- win32: https://npm.taobao.org/mirrors/chromium-browser-snapshots/Win/575458/chrome-win32.zip
- win64: https://npm.taobao.org/mirrors/chromium-browser-snapshots/Win_x64/575458/chrome-win32.zip
替换完成后,在命令行输入 pyppeteer-install
即可下载
>pyppeteer-install [W:pyppeteer.chromium_downloader] start chromium download. Download may take a few minutes. ...... chromium download done. [W:pyppeteer.chromium_downloader] chromium extracted to: C:\Users\dell\AppData\Local\pyppeteer\pyppeteer\local-chromium\588429
这个时候下载速度就非常快了。
下载本地安装如果不想通过命令行下载,也可以自己下载安装包的方式安装,上面命令行下载完成后的安装地址是:C:\Users\用户名\AppData\Local\pyppeteer\ 目录
于是可以先下载安装包:https://npm.taobao.org/mirrors/chromium-browser-snapshots/Win/575458/chrome-win32.zip
,下载完成后放到如下目录
C:\Users\自己电脑用户名\AppData\Local\pyppeteer\pyppeteer\local-chromium\588429\
解压 chrome-win32.zip 文件
这种本地安装方式也可以