11 render方法报错
在第一次使用r.html.render时报错
如果你遇到了在第一次使用r.html.render()的时候,没有帮你下载内核浏览器,并且报错时,你要做如下操作
原因:
可能是速度太慢,下载时还有可能报错 我的报错是
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='storage.googleapis.com', port=443): Max retries exceeded with url: /chromium-browser-snapshots/Win_x64/575458/chrome-win32.zip (Caused by SSLError(SSLError("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')],)",),))
解决:
1.手动下载内核浏览器chromium
https://npm.taobao.org/mirrors/chromium-browser-snapshots/Win_x64/650583/
2. 下载之后解压
3.requests_html运行chrominum的路径究竟是怎么样的?
(1)进入python安装目录下的\Lib\site-packages\pyppeteer目录
(2)我的目录是:D:\python\Lib\site-packages\pyppeteer
(3)打开chromium_downloader.py文件
(4)找到如下代码(大约在37行)
chromiumExecutable = {
'linux': DOWNLOADS_FOLDER / REVISION / 'chrome-linux' / 'chrome',
'mac': (DOWNLOADS_FOLDER / REVISION / 'chrome-mac' / 'Chromium.app' /
'Contents' / 'MacOS' / 'Chromium'),
'win32': DOWNLOADS_FOLDER / REVISION / 'chrome-win32' / 'chrome.exe',
'win64': DOWNLOADS_FOLDER / REVISION / 'chrome-win32' / 'chrome.exe',
}
(5)直接在这个.py文件中打印你对应操作系统的这个内核浏览器的路径
print(chromiumExecutable['win64'])#笔者的
C:\Users\Ray\AppData\Local\pyppeteer\pyppeteer\local-chromium\575458\chrome-win32\chrome.exe
(6)所以自己建文件夹,然后一直到chrome-win32文件夹,把上面下载的chromium文件,拷贝到此目录下,下载到的Chromeium是一个压缩包,解压后把全部文件拷贝到路径就可以了。