Selenium绕过爬虫检测(终极方案)
创始人
2024-09-25 02:22:15

众所周知,Selenium是一个用于自动化Web应用程序测试的工具,通过控制浏览器执行这些脚本来模拟用户的操作。但是,太容易被检测!通过Selenium启动的浏览器,有很多的特征能够被检测出来,进而触发验证码、滑块等。

网上有很多的防检测方法,大都是掩耳盗铃,对于一些网站来说没什么效果。只要使用Selenium启动浏览器,必定会被检测到。

通过访问 sannysoft 可以看到,使用Selenium启动的网站,不管用了什么防检测,都会被检测出来。

既然使用Selenium启动浏览器就会被检测到,那该如何绕过检测?

没错,那就是不用Selenium启动。我们可以通过手动启动浏览器,并用Selenium连接此浏览器,达到完美的防检测。但是我们既然用Selenium,肯定是为了自动化,不可能每次都先手动打开浏览器。

我们可以使用subprocess 来启动浏览器,再用Selenium连接,来完成这一流程。

话不多说,直接进入正题:

(此次需要用到的插件,没有安装的小伙伴可以自行安装一下)

browser_path = "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe"  subprocess.Popen([browser_path,'--remote-debugging-port=9222'])

使用subprocess命令行打开浏览器,并且添加参数,给此次启动的浏览器添加一个9222的端口。browser_path 的值是你电脑里谷歌浏览器的路径,windows一般是这个。

options = Options() options.add_experimental_option("debuggerAddress", "127.0.0.1:9222") driver = webdriver.Chrome(executable_path='C:\\Program Files\\Google\\Chrome\\Application\\chromedriver.exe', options=options)  driver.get('https://bot.sannysoft.com/')

然后通过Selenium的设置浏览器选项,通过上面的端口,连接上浏览器。executtable_path的路径和上面一样。

最后直接访问地址,可以看到,我们这个完全和手动打开的浏览器一模一样,成功的绕过了所有检测。

最后,贴上完整代码

from selenium import webdriver from selenium.webdriver.chrome.options import Options import subprocess import time  browser_path = "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe"  subprocess.Popen([browser_path,'--remote-debugging-port=9222'])  time.sleep(3)  options = Options() options.add_experimental_option("debuggerAddress", "127.0.0.1:9222") driver = webdriver.Chrome(executable_path='C:\\Program Files\\Google\\Chrome\\Application\\chromedriver.exe', options=options)  driver.get('https://bot.sannysoft.com/')

大功告成!

相关内容

热门资讯

一只小龙虾何以引爆全球AI圈? AI正逼近“安全围栏”,人类要有“掀桌子”的能力 | 图源:即梦AI 作者/ IT时报 贾天荣 编辑...
柳州智能工厂里,奏响“春之歌” 年味渐浓,生产正忙。连日来,记者走进柳州3家智能工厂,探访人工智能与制造业深度融合的真实图景,聆听车...
骄成超声获得实用新型专利授权:... 证券之星消息,根据天眼查APP数据显示骄成超声(688392)新获得一项实用新型专利授权,专利名为“...
“太恐怖了!”字节最新AI视频... 智东西 作者 | 王涵 编辑 | 冰倩 智东西2月9日报道,2月7日,字节跳动AI视频生成模型See...
澳媒:全球Z世代正感受“中国气... 澳大利亚广播公司2月8日文章,原题:为什么社交媒体上的Z世代正经历“我的人生中‘很中国’的时光” 全...