前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python接口自动化35-r.html.render() 下载无反应问题解决

python接口自动化35-r.html.render() 下载无反应问题解决

作者头像
上海-悠悠
发布2020-10-27 10:33:58
7750
发布2020-10-27 10:33:58
举报
文章被收录于专栏:从零开始学自动化测试

前言

使用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种

第一种:使用命令行下载

代码语言:javascript
复制
>pyppeteer-install
[W:pyppeteer.chromium_downloader] start chromium download.
Download may take a few minutes.

如果一直出现 Download may take a few minutes.很长时间不动,或者跟蜗牛爬的一样慢。

第二种:使用r.html.render() 下载

代码语言:javascript
复制
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 文件,找到如下内容修改

代码语言:javascript
复制
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位电脑,所以修改后为

代码语言:javascript
复制
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即可下载

代码语言:javascript
复制
>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 文件

这种本地安装方式也可以

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-10-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 从零开始学自动化测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 环境准备
  • 遇到问题
  • 替换下载源
  • 下载本地安装
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档