zoukankan      html  css  js  c++  java
  • pyppeteer离线环境配置

    windows下的安装和配置

    • 1、使用豆瓣源安装pyppeteer:
    pip install -i https://pypi.douban.com/simple/ pyppeteer
    • 2、添加环境变量,更改下载 chromium 的来源网站和执行路径:

    pyppeteer第一次运行时,会自动下载chromium浏览器,时间可能会有些长。不过,我第一次运行时,直接报错:

    [W:pyppeteer.chromium_downloader] start chromium download.
    Download may take a few minutes.

    可以看到,下载功能是由pyppeteer.chromium_downloader模块完成的,那么我们进入这个模块查看源码。

    在这个模块源码中,我们可以看到downloadURLs、chromiumExecutable等变量,很明显指的就是下载链接和chromium的可执行文件路径。我们重点关注一下可执行文件路径

    chromiumExecutable:
    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',
    }

    可见,无论在哪个平台下,chromiumExecutable都是由是4个部分组成,其中 DOWNLOADS_FOLDER 和 REVISION是定义好的变量:

    DOWNLOADS_FOLDER = Path(__pyppeteer_home__) / 'local-chromium'

    进一步查看可以发现:

    __pyppeteer_home__ = os.environ.get('PYPPETEER_HOME', AppDirs('pyppeteer').user_data_dir)
    REVISION = os.environ.get('PYPPETEER_CHROMIUM_REVISION', __chromium_revision__)

    所以,DOWNLOADS_FOLDER 和 REVISION都是读取对应环境变量设置好的值,如果没有设置,就使用默认值。我们来输出一下,看看默认值:复制代码

    import pyppeteer.chromium_downloader
    print('默认版本是:{}'.format(pyppeteer.__chromium_revision__))
    print('可执行文件默认路径:{}'.format(pyppeteer.chromium_downloader.chromiumExecutable.get('win64')))
    print('win64平台下载链接为:{}'.format(pyppeteer.chromium_downloader.downloadURLs.get('win64')))

    输出结果如下:

    1
    2
    3
    默认版本是:575458
    可执行文件默认路径:C:UsersAdministratorAppDataLocalpyppeteerpyppeteerlocal-chromium575458chrome-win32chrome.exe
    win64平台下载链接为:https://storage.googleapis.com/chromium-browser-snapshots/Win_x64/575458/chrome-win32.zip

     在使用上面代码的时候,你可以将win64换成你的平台就好了,有了上面的下载链接,这个时候就可以先开始下载着chromium浏览器(有些慢),然后继续往下看。

    对于版本默认的就好了。但是,对于chromium的可执行文件路径,默认是在C盘,对于有C盘洁癖的我,咋看咋不舒服,那就改了吧。从上面的分析中我们可以知道,C:UsersAdministratorAppDataLocalpyppeteerpyppeteer这一部分读取的是环境变量或者默认值,所以,我们可以通过配置环境变量改这一部分(或者也可以直接改源码,读取环境变量那一行,直接设为固定值),通过os.environ添加PYPPETEER_HOME这一变量值,例如我想把我的chromium放在D盘的Program Files文件夹下:
     
    import os
    os.environ['PYPPETEER_HOME'] = 'D:Program Files'
    import pyppeteer.chromium_downloader
    print('默认版本是:{}'.format(pyppeteer.__chromium_revision__))
    print('可执行文件默认路径:{}'.format(pyppeteer.chromium_downloader.chromiumExecutable.get('win64')))
    print('win64平台下载链接为:{}'.format(pyppeteer.chromium_downloader.downloadURLs.get('win64')))

    输出如下:

    1
    2
    3
    默认版本是:575458
    可执行文件默认路径:D:Program Fileslocal-chromium575458chrome-win32chrome.exe
    win64平台下载链接为:https://storage.googleapis.com/chromium-browser-snapshots/Win_x64/575458/chrome-win32.zip

     特别提醒:上面设置环境变量的那一行,必须在导入pyppeteer这一行上面,否则设置无效。

    上面这种方法你需要在每次使用pypeeteer之前通过这行代码设置一下,实在麻烦,所以,我还是更愿意直接在windows系统里面添加这个变量:

    虽然我们把环境变量设置为D:Program Files,但是层层文件夹之后,才到真正的可执行文件chrome.exe,下载好的压缩包解压后,所有文件都在名为chrome-win的文件夹中,所以,我们需要在D:Program Files创建local-chromium575458这两个文件夹(575458是上面的版本号,记得修改为你的版本号),然后将解压得到的chrome-win文件夹,重命名为chrome-win32,然后直接拷贝进去就好,整个安装过程就完成了。

    变量名为PYPPETEER_DOWNLOAD_HOST,对应值为http://npm.taobao.org/mirrors; 下载链接选改

    • 3、在cmd终端进入 python/ipython 环境,执行以下代码查看:
    import pyppeteer
    
    # chromium执行目录
    pyppeteer.chromium_downloader.chromiumExecutable.get('win64')
    
    # 下载chromium的url地址
    pyppeteer.chromium_downloader.downloadURLs.get('win64')

    配置成功的话,我这边返回的结果如下:

    WindowsPath('D:/Program Files/pyppeteer/local-chromium/588429/chrome-win32/chrome.exe')
    
    http://npm.taobao.org/mirrors/chromium-browser-snapshots/Win_x64/588429/chrome-win32.zip

    至此环境配置是成功了,如果没生效注意重新打开cmd窗口试试。

  • 相关阅读:
    归并排序
    数据组合求值
    轨道周期
    类及对象构建
    日期改写
    排列组合去重
    库存更新
    Java性能测试从入门到放弃-详解篇
    Java性能测试从入门到放弃-概述篇
    cocos2d-x安装教程
  • 原文地址:https://www.cnblogs.com/feifeifeisir/p/15245679.html
Copyright © 2011-2022 走看看