爬虫萌新,大佬请轻喷
最近想用 Python 写了一个投票脚本,奈何获取 cookie 的时候发现滑动验证码(是一家叫做同盾科技的)可以识别到是否是 bot 操作
具体表现为:用正常浏览器打开可以正常完成滑动验证,用 selenium 打开后可以滑动(同样为手动操作)但显示验证失败。
想问问各路大佬有没有遇到过这种比较高级的反爬?有什么破解方法吗?已经改了 user-agent,似乎没有起到成效。用 selenium 的时候尝试了 chrome 和 firefox,都不行。
最近想用 Python 写了一个投票脚本,奈何获取 cookie 的时候发现滑动验证码(是一家叫做同盾科技的)可以识别到是否是 bot 操作
具体表现为:用正常浏览器打开可以正常完成滑动验证,用 selenium 打开后可以滑动(同样为手动操作)但显示验证失败。
想问问各路大佬有没有遇到过这种比较高级的反爬?有什么破解方法吗?已经改了 user-agent,似乎没有起到成效。用 selenium 的时候尝试了 chrome 和 firefox,都不行。
第 1 条附言 · 2020 年 10 月 7 日
来源:@JmmBite 贴出的 https://stackoverflow.com/questions/53039551/selenium-webdriver-modifying-navigator-webdriver-flag-to-prevent-selenium-detec/53040904
结案了,感谢各位的帮助!下面附上我使用的配置:
options = webdriver.ChromeOptions()
options.add_argument("--disable-blink-features")
options.add_argument("--disable-blink-features=AutomationControlled")
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
driver = webdriver.Chrome(options=options)
driver.execute_script("Object.defineProperty(navigator, 'webdriver', {get: () => undefined})")
driver.execute_cdp_cmd('Network.setUserAgentOverride', {"userAgent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.53 Safari/537.36'})
print(driver.execute_script("return navigator.userAgent;"))
来源:@JmmBite 贴出的 https://stackoverflow.com/questions/53039551/selenium-webdriver-modifying-navigator-webdriver-flag-to-prevent-selenium-detec/53040904
12 条回复 • 2020-10-07 15:15:44 +08:00
|
1
crab 2020 年 10 月 6 日
只能对比两组数据的差异。
|
|
2
alan0liang 2020 年 10 月 6 日 via Android |
|
3
lichdkimba 2020 年 10 月 6 日 這個可能會非常難 畢竟人家就是專門搞這個驗證碼的
|
|
4
h503mc 2020 年 10 月 6 日
被 window.navigator.webdriver 挡了
|
|
5
JmmBite 2020 年 10 月 6 日 |
|
6
None123 2020 年 10 月 6 日
用 puppeteer
|
|
7
voidcomma 2020 年 10 月 6 日 via iPhone
识别到你的浏览器是自动的,需要修改一些参数。
|
|
8
cxbeat OP |
|
9
DoctorCat 2020 年 10 月 7 日
lz 最终成功了么?
|
|
10
locoz 2020 年 10 月 7 日 via Android
浏览器在被自动化测试工具控制时会调整一些标识,可以被用 js 取到值,所以人家就能检测了,搜索引擎上搜一下然后按着替换掉就好了。( puppeteer 也一样的)
这种属于比较常规的操作,你后面还会碰到鼠标轨迹识别的问题,会更麻烦一些,搞不定的话建议直接上打码平台,毕竟投票脚本这种东西应该也不常用? |