整理网上关于selenium的反爬机制以及解决办法。

这篇具有很好参考价值的文章主要介绍了整理网上关于selenium的反爬机制以及解决办法。。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

只是收集目前找到的一些关于selenium的反爬问题。
未亲自尝试,不保证效果。也会持续跟进相关的内容继续整理。

1.window.navigator.webdriver

现象:用户正常访问该值为false。使用selenium时该值为true。
解决:去除该参数

option = ChromeOptions()
#设置为开发者模式
option.add_experimental_option('excludeSwitches', ['enable-automation'])
option.add_experimental_option('useAutomationExtension', False)
option.add_argument("--disable-blink-features=AutomationControlled")
browser = WebChrome(options=option)
browser.execute_cdp_cmd('Page.addScriptToEvaluateOnNewDocument', {
  'source': 'Object.defineProperty(navigator, "webdriver", {get: () => undefined})'
        })
#网上还找到一些关于通过 stealth.min.js 隐藏chromedirver特征的内容。
#说是chromedirver 88 版本以后。
#chrome_options.add_argument("--disable-blink-features=AutomationControlled")
#就能够隐藏特征内容了。

2.cookie验证

现象:登录是绕不开的话题,我也不知各个网站都是怎么验证登录的。有没有什么隐藏的手段。
解决办法:设置缓存路径,每次启动selenium加载对应缓存

option.add_argument('--user-data-dir=C:\\Users\\用户名\\AppData\\Local\\Google\\Chrome\\User Data')
option.add_argument('--profile-directory=Default')
browser = WebChrome(options=option)
#这行代码直接使用了,自身浏览器的缓存文件。

3.chromedriver的驱动key验证

现象:验证chromedriver文件中的key值。相同就拒绝访问。
解决办法:修改chromedriver文件

1)notepad3 打开该文件。搜索 $cdc_ 
2)修改$cdc_后面的字符串,默认都是'$cdc_asdjflasutopfhvcZLmcfl_'。保证改后和之前的长度一致。

4.内核启动验证

现象:还是能被发现是selenium,或者是发现是driver启动的。
解决办法:采用端口通讯的方式,控制浏览器。
http://www.51testing.com/html/35/n-7794035.html
https://www.byincd.com/bobjiang/article-01182/

5.还是关于特征隐藏的

使用undetected_chromedriver 的来替代selenium的 webdriver文章来源地址https://www.toymoban.com/news/detail-779946.html

import undetected_chromedriver as uc
option = uc.ChromeOptions()
self.browser = uc.Chrome(options=option)

到了这里,关于整理网上关于selenium的反爬机制以及解决办法。的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • selenium中driver退出,以及基础对象方法整理

    退出 with webdriver.Chrome() as driver: #上下文管理器打开浏览器,不用关闭自动退出 driver.close()   :关闭用户当前正在使用的Web浏览器窗口,即WebDriver当前正在访问的窗口。.close() 方法既不需要任何参数,也无任何返回值。 driver.quit()   :不同于close(),quit()方法用于关闭程序已打

    2024年02月03日
    浏览(30)
  • 【Linux内核解析-linux-5.14.10-内核源码注释】关于Linux同步机制知识点整理

    在Linux系统中,同步机制是操作系统中非常重要的一部分,以下是一些基本要点: 什么是同步机制?同步机制是一种操作系统提供的机制,用于协调多个进程或线程之间的访问共享资源,防止出现竞态条件和死锁等问题。 Linux中常用的同步机制有哪些?Linux中常用的同步机制

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

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

    2024年02月07日
    浏览(33)
  • 菜鸟关于做前、后端的整理(html、js),以及疑问

    涉及到后端的接口py,前端html和js 这三部分就按照如下格式放到server项目主路径下,这样后端机可以作为一个前端server 首先是html要设定网页的显示 在 headstyle 里面给每个模块设定尺寸颜色啥的(应该是叫内联CSS),每个模块名字前要加#(有点类似于函数定义声明?) 一些具

    2024年01月20日
    浏览(26)
  • 爬虫入门基础-Selenium反爬

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

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

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

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

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

    2024年02月14日
    浏览(26)
  • 对比Flink、Storm、Spark Streaming 的反压机制

    Flink 反压机制 Flink 如何处理反压? Storm 反压机制 Storm反压机制   Storm 在每一个 Bolt 都会有一个监测反压的线程(Backpressure Thread),这个线程一但检测到 Bolt 里的接收队列(recv queue)出现了严重阻塞就会把这个情况写到 ZooKeeper 里,ZooKeeper 会一直被 Spout 监听,监听到有反压的

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

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

    2024年02月02日
    浏览(26)
  • selenium反爬-绕过浏览器指纹的常用方法

    代码如下: Undetected_chromedriver 是一个经过优化的 Selenium WebDriver ,可以避免触发反机器人程序。 如绕过 Cloudflare 、Akamai、知乎。它适用于 Google Chrome 、 Brave 和许多其他基于 Chromium 的浏览器。 代码如下: 还有一点要注意: 异常现象: 如果使用 pyinstaller 对 undetected-chromedriv

    2024年02月13日
    浏览(42)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包