python接口自动化35-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压缩包下载地址
- 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
即可下载
>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 文件
这种本地安装方式也可以
- Ado.Net连接池的速度测试
- Excel小账本使用说明
- Enterprise Library 4.1学习笔记8----缓存应用程序块之FileDependency
- CSS实现按钮的两张图片的同步出现
- 完整部署CentOS7.2+OpenStack+kvm 云平台环境(6)--在线调整虚拟机的大小
- 关于vb中的容器
- 关于vb中的容器
- Mysql数据库之Binlog日志使用总结
- 揭秘新人机大战柯洁对手天壤 AI排名已力压Deepzen
- 一路走到java工程师,java都快出java9了,到底该如何学java?
- 网站发布合并bll问题的解决
- 痛并快乐着:浅谈大数据时代的分布式存储架构
- linux运维中的命令梳理(四)
- linux运维中的命令梳理(三)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- linux定时任务的一些相关操作汇总
- Linux nohup命令原理及实例解析
- 基于centos7快速安装mysql5.7教程解析
- Centos8下django项目部署 nginx+uwsgi的教程
- 3分钟短文:Laravel把数据验证的手伸向“请求体”
- 「Redis」字符串
- Elasticsearch:pipeline aggregation 介绍
- Qt音视频开发32-Onvif网络设置
- 3分钟短文:说说Laravel模型关联关系最单纯的“一对一”
- Redis 缓存性能实践及总结
- 如何优雅的在react-hook中进行网络请求
- Git commit emoji 食用指南
- 编译安装 ProtoBuf 扩展
- 一键搭建 KMS 服务
- vuepress-theme-yur 使用教程