Selenium Wire编辑header破解反爬机制和访问限制

这篇具有很好参考价值的文章主要介绍了Selenium Wire编辑header破解反爬机制和访问限制。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、selenium Wire介绍

  • 介绍
    Selenium Wire扩展了Selenium的Python绑定,使您能够访问浏览器发出的底层请求。您已使用Selenium相同的方式编写代码,但是您获得了额外的api,用于检查请求和响应,并动态地对它们进行更改。(注:意思是这个不仅包含了selenium的功能,还额外增加了新的扩展功能,引用seleniumwire后就不用再引用selenium)

  • 工作原理
      Selenium Wire的工作原理是将浏览器流量重定向到它在后台运行的内部代理服务器。当请求流经代理服务器时,它们被拦截和捕获。捕获请求可能会使事情变慢,但你可以做一些事情来限制被捕获的内容。

二、selenium Wire安装

安装selenium-wire需要先安装mitmproxy

  • 安装mitmproxy
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple mitmproxy
  • 安装selenium-wire
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple selenium-wire

三、selenium Wire使用实例

本次实例中访问站点次数过多或频率过快时会弹窗提示并结束自动化测试运行程序,增加等待时长不能解决该问题,与开发沟通后得到解决方案是在header里增加参数键值对test:test则能够忽略限制(不同项目的破解值不一样,仅作样例参考),查找资料决定使用selenium Wire来增加header参数,成功解除访问限制。
Selenium Wire编辑header破解反爬机制和访问限制,软件测试,selenium,selenium,测试工具

from seleniumwire import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

chrome_options = webdriver.ChromeOptions()
chrome_options.add_experimental_option('w3c', False)
caps = DesiredCapabilities.CHROME
# 打开chrome浏览器
# 此步骤很重要,设置为开发者模式,防止被各大网站识别出来使用了Selenium
# chrome_options.add_experimental_option('excludeSwitches', ['enable-logging'])  # 禁止打印日志
chrome_options.add_experimental_option('excludeSwitches', ['enable-automation'])  # 跟上面只能选一个
# chrome_options.add_argument('--headless')  # 无头模式,打开后后台运行浏览器,不在电脑显示
chrome_options.add_argument('--disable-gpu')  # 上面代码就是为了将Chrome不弹出界面
chrome_options.add_argument('--start-maximized')  # 最大化
chrome_options.add_argument('--incognito')  # 无痕隐身模式
chrome_options.add_argument("disable-cache")  # 禁用缓存
chrome_options.add_argument('disable-infobars')
chrome_options.add_argument('log-level=3')  # INFO = 0 WARNING = 1 LOG_ERROR = 2 LOG_FATAL = 3 default is 0


# header新增参数test解除访问拦截
def interceptor(request):
    request.headers['test'] = 'test'


caps['loggingPrefs'] = {'performance': 'ALL'}
driver = webdriver.Chrome(desired_capabilities=caps, options=chrome_options)
driver.request_interceptor = interceptor

四、遇到的问题

首次运行过程中报错ImportError: cannot import name ‘EdgeOptions’,解决方法去webdriver文件里把EdgeOptions这行注释掉
Selenium Wire编辑header破解反爬机制和访问限制,软件测试,selenium,selenium,测试工具

Selenium Wire编辑header破解反爬机制和访问限制,软件测试,selenium,selenium,测试工具
参考文档:
selenium-wire简介
Python |Selenium Wire 扩展Selenium的Python绑定,使您能够检查浏览器发出的请求
用Selenium给chrome添加任意请求头信息文章来源地址https://www.toymoban.com/news/detail-578679.html

到了这里,关于Selenium Wire编辑header破解反爬机制和访问限制的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Selenium 无头浏览器被知乎限制访问的解决方案

    我尝试使用如下代码爬取知乎的有关内容,出现知乎安全验证界面: 添加启动参数 在网上的许多文章中,反复提到了如下三行代码,然而我将他们加入代码后没有什么效果: JavaScript特殊全局变量 有一些文章提到,通过 WebDriver 启动的网页会存在一些特殊的 JS 变量,这些变

    2024年02月14日
    浏览(50)
  • 网站有反爬机制就爬不了数据?那是你不会【反】反爬

    目录 前言 一、什么是代理IP 二、使用代理IP反反爬 1.获取代理IP 2.设置代理IP 3.验证代理IP 4.设置代理池 5.定时更新代理IP 三、反反爬案例 1.分析目标网站 2.爬取目标网站 四、总结 前言 爬虫技术的不断发展,使得许多网站都采取了反爬机制,以保护自己的数据和用户隐私。常

    2024年02月07日
    浏览(46)
  • 基于Python的B站(哔哩哔哩)视频评论采集,可破解反爬手段,想爬几条爬几条

    它通过输入Bilibili视频的av号、BV号或链接,然后使用指定的cookie和请求头信息发送HTTP请求来获取视频的评论数据。然后,它将评论数据解析为CSV格式,并保存到指定的文件中。 具体实现过程如下: 导入所需的库:requests用于发送HTTP请求,os用于操作文件路径,time用于处理时

    2024年01月18日
    浏览(56)
  • selenium-wire简介

    以下来自chatGPT回答: selenium-wire是一个基于selenium的Python库,它扩展了selenium的功能,使得我们可以在自动化测试中直接访问和修改浏览器的网络请求和响应。selenium-wire可以拦截和修改HTTP请求和响应,从而可以在测试过程中模拟 网络环境、调试和分析网络请求以及实现自定义

    2024年02月08日
    浏览(36)
  • selenium反爬

    使用selenium也会被网站反爬,有的网站甚至检测到是selenium时就会封禁ip,所以今天分享一下selenium的反爬。大多数网站识别selenium的方法是通过window.navigator.webdriver,它的作用是在用户打开浏览器时给当前窗口一个window属性来存放用户的各种信息,当我们使用selenium时值为true,正

    2024年02月12日
    浏览(56)
  • 爬虫入门基础-Selenium反爬

    在网络时代,爬虫作为一种强大的数据采集工具,被广泛应用于各行各业。然而,许多网站为了防止被恶意爬取数据,采取了各种反爬虫机制。为了能够成功地绕过这些机制,Selenium成为了爬虫领域的一把利器。本文将为你介绍爬虫入门基础,并重点探讨如何使用Selenium应对反

    2024年02月08日
    浏览(48)
  • selenium反爬driver配置(通用)

    玩爬虫的时候,遇到了很多不能爬取的问题,网页为空、返回码出错(400、412)、图片不展示但源码中存在图片链接等,问题通常都是服务器检测到浏览器是自动化爬取。 文章记录一下通用解决办法 一本万利的方法(不用手动配置这么多参数): undetected_chromedriver包内部加

    2024年02月14日
    浏览(42)
  • selenium工作原理和反爬分析

    Selenium是最广泛使用的开源Web UI(用户界面)自动化测试套件之一,支持并行测试执行。Selenium通过使用特定于每种语言的驱动程序支持各种编程语言。Selenium支持的语言包括C#,Java,Perl,PHP,Python和Ruby。Selenium支持的浏览器包括Internet Explorer,Mozilla Firefox,Google Chrome和Safari。

    2024年02月02日
    浏览(40)
  • Python爬虫爬取知乎文章内容(解决最新js反爬2021.9 x-zse-96 2.0版本加密破解分析)...

    有个需求爬取知乎文章,正好记录下爬取过程以及出现问题并解决方法 我是在没有登录的情况下爬取文章的 本文仅供研究与学习使用 知乎现今的 x-zse 参数的加密方法已升级成了:x-zse-96 2.0版本。 来看这篇帖子的应该都知道,这个参数动态唯一,没有就拿不到api数据。 查阅

    2023年04月08日
    浏览(55)
  • selenium反爬遇到的问题以及解决措施

    首先分享一下前两天爬取某宝数据时遇到的一些问题,第一个问题是模拟登陆时就被检测到了,之前的文章讲过为什么会被检测到以及应对的方法,今天分享一个更加实用的方法,  加入这段代码以后可以规避掉网站对selenium的检测 下面分享一下遇到的一些问题, 第一个问题

    2024年02月15日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包