您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:python selenium禁止加载某些请求的实现

51自学网 2022-02-21 10:36:46
  python
这篇教程python selenium禁止加载某些请求的实现写得很实用,希望能帮到您。

问题描述

通过selenium请求目标网站时候, 真实数据(我这里是验证码图片)已经加载出来, 由于网站做了第三方上报所以得等待很久, 但是上报这个请求不是必须的.

例如

验证码已经加载完成, 但是huatuo.qq.com响应时间过长 , webdriver.get()的机制是等待请求的url响应全部完成才进行下一步. 显示等待和隐式等待的作用是每隔多少秒来检测一下这个地址是否加载完成, 所以此处不生效.

那我要做的是: 当请求目标url时候, 希望webdriver不上报或者屏蔽huatuo.qq.com…这样就能节省大量时间, 从而进行下一步操作

在这里插入图片描述

解决方案

在通过selenium打开目标url后, 植入js插件, 通过插件来屏蔽上报url

配置selenium属性, 添加屏蔽规则

chrome_options.add_argument('--host-resolver-rules=MAP report.huatuo.qq.com 127.0.0.1')

最终效果

在这里插入图片描述

这样就能专注于目标url, 更快的执行下一步.

其他属性配置

options.add_argument(‘headless') # 无头模式options.add_argument(‘window-size={}x{}'.format(width, height)) # 直接配置大小和set_window_size一样options.add_argument(‘disable-gpu') # 禁用GPU加速options.add_argument(‘proxy-server={}'.format(self.proxy_server)) # 配置代理options.add_argument('
python爬取bilibili网页排名,视频,播放量,点赞量,链接等内容并存储csv文件中
Python将视频转换为图片介绍
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。