解决Pyppeteer下载chromium慢或者失败的问题

在首次使用Pyppeteer时需要下载chromium

看到这篇文章的,大都不是小白,所以直接进入主题

在这里使用的是淘宝镜像中的chromium
进入这个网址 https://npm.taobao.org/mirrors/chromium-browser-snapshots
选择对应系统和对应的版本(我这里是mac系统,选择了当时最新版本)
然后找到site-packages中pyppeteer中的chromium_downloader.py文件并打开
修改其中一些代码,并保存

解决Pyppeteer下载chromium慢或者失败的问题_第1张图片

这时你可以试着先运行一次,看看是否能下载
我当时在只修改这里的时候,下载的时候报了一些错误
requests.exceptions.SSLError: HTTPSConnectionPool(host='npm.taobao.org', port=443): Max retries exceeded with url: / (Caused by SSLError(SSLError("bad handshake: SysCallError(10054, 'WSAECONNRESET')",),))
当然,这个错误你能解决的话,就直接解决了就好
不能解决的话,可以使用下面一段代码覆盖chromium_downloader.py的download_zip方法
def download_zip(url: str) -> BytesIO:
    import requests
    """Download data from url."""
    logger.warning('start chromium download.\n'
                   'Download may take a few minutes.')
    
    data = requests.get(url, verify=False)
    _data = BytesIO(data.content)
    
    logger.warning('\nchromium download done.')
    return _data
然后再次运行就可以了

你可能感兴趣的:(爬虫,pyppeteer)