zoukankan      html  css  js  c++  java
  • python接口自动化35-pyppeteer-install下载没反应,r.html.render() 下载无反应问题解决

    前言

    使用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压缩包下载地址

    替换完成后,在命令行输入 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:UsersdellAppDataLocalpyppeteerpyppeteerlocal-chromium588429
    

    这个时候下载速度就非常快了。

    下载本地安装

    如果不想通过命令行下载,也可以自己下载安装包的方式安装,上面命令行下载完成后的安装地址是:C:Users用户名AppDataLocalpyppeteer 目录
    于是可以先下载安装包:https://npm.taobao.org/mirrors/chromium-browser-snapshots/Win/575458/chrome-win32.zip,下载完成后放到如下目录

    C:Users自己电脑用户名AppDataLocalpyppeteerpyppeteerlocal-chromium588429 解压 chrome-win32.zip 文件

    这种本地安装方式也可以

  • 相关阅读:
    sqlchemy self made
    scrapy 自定义图片路径保存,并存到数据库中
    关于scrapy下载文件重命名的办法以及对应url没有文件后缀的办法
    下载转码
    scrapy 下载图片 from cuiqingcai
    Scrapy框架学习
    字符串处理
    scrapy 日志处理
    sqlalchemy多对多查询
    sqlalchemy 多对多关系
  • 原文地址:https://www.cnblogs.com/yoyoketang/p/13843938.html
Copyright © 2011-2022 走看看