我很好奇Recaptcha v3是如何工作的。特别是浏览器指纹识别。
当我通过selenium/chromedriver启动一个chrome实例并用ReCaptcha 3(https://recaptcha-demo.appspot.com/recaptcha-v3-request-scores.php)进行测试时,当使用selenium/chromedriver时,我总是得到0.1的分数。
当在一个普通的实例中使用incognito时,我得到0.3。
我已经通过注入JS和修改web驱动程序对象、从源代码重新编译web driver和修改$cdc_u变量击败了其他检测系统。
我可以看到一些模糊的帖子返回到服务器,所以我要开始挖掘那里。
我只是想先看看是否有人愿意与我们分享一些建议或经验,来确定我是否在运行selenium/chromedriver?
重述
网站可以轻松检测网络流量并将您的程序标识为机器人。Google已经发布了5(五)个reCAPTCHA,在创建新站点时可以从中进行选择。其中四个处于活动状态,而reCAPTCHA v1正在关闭。
概述版本和类型
解决方案
但是,有一些通用的方法可以避免在web抓取时被检测到:
time.sleep(secs)
。在这里您可以找到关于How to sleep webdriver in python for milliseconds的详细讨论奥特罗
一些值得思考的东西:
Selenium和Puppeter有一些不同于非自动浏览器的浏览器配置。另外,由于一些JS函数被注入浏览器以操作元素,因此需要创建一些覆盖以避免检测。
有一些很好的文章解释了硒和木偶在具有检测机制的站点上运行时检测的一些要点:
Detecting Chrome headless, new techniques-你可以用它在你的机器人上写一个防御代码
It is not possible to detect and block chrome headless-以清晰、合理的方式解释JS代码可以检测由自动化软件启动的浏览器与真实浏览器之间的差异,以及如何伪造它。
Github - headless-cat-n-mouse-使用puppeter+python避免检测的示例
相关问题 更多 >
编程相关推荐