cxbeat
V2EX  ›  问与答

关于滑动验证码对浏览器的识别

By cxbeat at 2020 年 10 月 6 日 · 4067 次点击
爬虫萌新,大佬请轻喷
最近想用 Python 写了一个投票脚本,奈何获取 cookie 的时候发现滑动验证码(是一家叫做同盾科技的)可以识别到是否是 bot 操作
具体表现为:用正常浏览器打开可以正常完成滑动验证,用 selenium 打开后可以滑动(同样为手动操作)但显示验证失败。
想问问各路大佬有没有遇到过这种比较高级的反爬?有什么破解方法吗?已经改了 user-agent,似乎没有起到成效。用 selenium 的时候尝试了 chrome 和 firefox,都不行。
第 1 条附言  ·  2020 年 10 月 7 日

结案了,感谢各位的帮助!下面附上我使用的配置:

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
crab
   1
crab  
   2020 年 10 月 6 日
只能对比两组数据的差异。
alan0liang
   2
alan0liang  
   2020 年 10 月 6 日 via Android   ❤️ 1
lichdkimba
   3
lichdkimba  
   2020 年 10 月 6 日   ❤️ 2
這個可能會非常難 畢竟人家就是專門搞這個驗證碼的
h503mc
   4
h503mc  
   2020 年 10 月 6 日
被 window.navigator.webdriver 挡了
None123
   6
None123  
   2020 年 10 月 6 日
用 puppeteer
voidcomma
   7
voidcomma  
   2020 年 10 月 6 日 via iPhone
识别到你的浏览器是自动的,需要修改一些参数。
cxbeat
   8
cxbeat  
OP
   2020 年 10 月 6 日
@crab 看请求头都是一样的,其他的就不清楚了

@alan0liang
@JmmBite 谢谢


@None123 因为个人技术原因暂时不想上无头浏览器,不过还是谢谢
DoctorCat
   9
DoctorCat  
   2020 年 10 月 7 日
lz 最终成功了么?
locoz
   10
locoz  
   2020 年 10 月 7 日 via Android
浏览器在被自动化测试工具控制时会调整一些标识,可以被用 js 取到值,所以人家就能检测了,搜索引擎上搜一下然后按着替换掉就好了。( puppeteer 也一样的)
这种属于比较常规的操作,你后面还会碰到鼠标轨迹识别的问题,会更麻烦一些,搞不定的话建议直接上打码平台,毕竟投票脚本这种东西应该也不常用?
cxbeat
   11
cxbeat  
OP
   2020 年 10 月 7 日
@locoz 现在看来应该是这个问题。验证码的话准备自己手动来划了,帐号量不大。谢谢思路。
cxbeat
   12
cxbeat  
OP
   2020 年 10 月 7 日
@DoctorCat 成功了,请看 append
@JmmBite 帮大忙了,再次感谢!
© 2026 V2EX · 49ms · 3.9.8.5