如何使用Selenium和Python绕过Google验证码?
如何使用Selenium和Python绕过Google验证码 当我试图刮东西时,谷歌会给我一个验证码。我可以用Selenium Python绕过Google验证码吗 例如,谷歌。您可以通过以下链接查看此验证码:要开始使用的Python客户端,您应该避免解决/绕过Google如何使用Selenium和Python绕过Google验证码?,python,selenium,selenium-chromedriver,recaptcha,captcha,Python,Selenium,Selenium Chromedriver,Recaptcha,Captcha,如何使用Selenium和Python绕过Google验证码 当我试图刮东西时,谷歌会给我一个验证码。我可以用Selenium Python绕过Google验证码吗 例如,谷歌。您可以通过以下链接查看此验证码:要开始使用的Python客户端,您应该避免解决/绕过Google 硒 自动化浏览器。现在,您想用这种能力实现什么完全取决于个人,但主要是为了通过浏览器客户端实现web应用程序的自动化,以便进行测试,当然,这并不限于此 验证码 另一方面,(缩写为…完全自动化的公共图灵测试,用于区分计算机
硒 自动化浏览器。现在,您想用这种能力实现什么完全取决于个人,但主要是为了通过浏览器客户端实现web应用程序的自动化,以便进行测试,当然,这并不限于此
验证码 另一方面,(缩写为…完全自动化的公共图灵测试,用于区分计算机和人类…)是一种挑战-反应测试,用于计算,以确定用户是否为人类 因此,Selenium和CAPTCHA有两个完全不同的用途,理想情况下不应用于完成任何相关任务 话虽如此,您可以轻松检测网络流量,并将您的程序识别为Selenium驱动的机器人
通解 但是,有一些通用方法可以避免在web抓取时被检测到:
- 网站可以通过监视器大小来确定脚本/程序的首要属性。因此,建议不要使用常规方法
- 如果您需要向一个网站发送多个请求,请继续更改每个请求的用户代理。在这里,您可以找到有关的详细讨论
- 要模拟类人行为,您可能需要将脚本执行速度减慢,甚至超过并导致
。在这里,您可以找到有关的详细讨论time.sleep(秒)
这个用例 然而,在几个用例中,我们能够使用Selenium与交互,您可以在以下讨论中找到更多细节:
工具书类 您可以在以下内容中找到一些相关讨论:
tl;博士
- 为了在抓取Google时绕过验证码,您必须手动解决验证码并导出Google提供给您的cookies。现在,每次打开Selenium WebDriver时,请确保添加导出的cookie。GOOGLE_滥用_豁免cookie是您正在寻找的,但为了安全起见,我会保存所有cookie
如果你想在你的抓取中增加一层稳定性,你应该导出几个cookie,并让你的脚本在每次ping Google时随机选择其中一个
这些饼干的有效期很长,所以你不需要每天都买新的饼干
有关在Python和Selenium中保存和加载cookie的帮助,请查看以下答案:清除浏览历史记录、缓存数据、cookie和其他站点数据 首先,在selenium打开的浏览器窗口中创建一个Google帐户。 登录到您的帐户
wd.get("https://accounts.google.com/signin/v2/identifier?hl=en&passive=true&continue=https%3A%2F%2Fwww.google.com%2F%3Fgws_rd%3Dssl&ec=GAZAmgQ&flowName=GlifWebSignIn&flowEntry=ServiceLogin");
Thread.sleep(2000);
wd.findElement(By.name("identifier")).sendKeys("Email"+Keys.ENTER);
Thread.sleep(3000);
wd.findElement(By.name("password")).sendKeys("Password"+Keys.ENTER);
Thread.sleep(5000);
然后使用此代码打开任何使用recaptcha勾选复选标记的网站
String framename=wd.findElement(By.tagName("iframe")).getAttribute("name");
wd.switchTo().frame(framename);
wd.findElement(By.xpath("//span[@id='recaptcha-anchor']")).click();
你找不到任何谜题或任何东西。嗯。。那么验证码有什么意义呢?我认为如果你想绕过验证码,唯一的办法就是使用其他人的服务。你给他们你的验证码,他们会给你回短信。听起来更容易。我不打算尝试。可能要找到checkbox元素的坐标,发送一个单击。但是,您首先是如何获得CAPTCHA的?你的一些行为一定让谷歌觉得你是机器人。@HjSin谢谢你的关注,你能给我一个答案让我更好地理解吗Hello,我对使用cookies还不熟悉;找到谷歌滥用豁免cookie后,您如何使用该特定cookie?阅读您提供的链接,但这似乎保存了上一个会话中的cookie,而不是我们已经拥有的特定cookie值Hi,Yu Na!该链接显示如何保存所有cookie,然后加载它们。我在我的代码中尝试了它,它就像一个符咒。如果您遇到了特定的障碍,请使用您的代码示例打开一个新的SO问题,并将链接发送给我,以便我查看是否可以提供帮助:)