2024-06-01 00:01:27 发布
网友
如何使用Selenium和Python绕过Google验证码
当我试图刮东西时,谷歌会给我一个验证码。我可以用Selenium Python绕过Google验证码吗
举个例子,它是GooglereCAPTCHA。您可以通过以下链接查看此验证码:https://www.google.com/recaptcha/api2/demo
清除浏览历史记录、缓存数据、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();
你不会发现任何谜题或任何东西
要开始使用Selenium的Python客户端,应该避免解决/绕过GoogleCAPTCHA
Selenium自动化浏览器。现在,您想用这种能力实现什么完全取决于个人,但主要是为了通过浏览器客户端实现web应用程序的自动化,以便进行测试,当然,这并不限于此
另一方面,CAPTCHA(缩写为…完全自动化的公共图灵测试,用于区分计算机和人类…)是一种挑战-反应测试,用于计算,以确定用户是否为人类
因此,硒和验证码有两个完全不同的用途,理想情况下不应用于完成任何相关任务
话虽如此,reCAPTCHA可以轻松检测网络流量,并将您的程序识别为Selenium驱动的bot
但是,有一些通用方法可以避免在web抓取时被检测到:
然而,在几个用例中,我们能够使用硒与reCAPTCHA交互,您可以在以下讨论中找到更多细节:
您可以在以下内容中找到一些相关讨论:
为了在抓取Google时绕过验证码,您必须手动解决验证码并导出Google提供给您的cookies。现在,每次打开Selenium WebDriver时,请确保添加导出的cookie。GOOGLE_滥用_豁免cookie是您正在寻找的,但为了安全起见,我会保存所有cookie
如果你想在你的抓取中增加一层稳定性,你应该导出几个cookie,并让你的脚本在每次ping Google时随机选择其中一个
这些饼干的有效期很长,所以你不需要每天都买新的饼干
有关在Python和Selenium中保存和加载cookie的帮助,您应该查看以下答案:How to save and load cookies using Python + Selenium WebDriver
清除浏览历史记录、缓存数据、cookie和其他站点数据 首先,在selenium打开的浏览器窗口中创建一个Google帐户。 登录到您的帐户
然后使用此代码打开任何使用recaptcha勾选复选标记的网站
你不会发现任何谜题或任何东西
要开始使用Selenium的Python客户端,应该避免解决/绕过GoogleCAPTCHA
硒
Selenium自动化浏览器。现在,您想用这种能力实现什么完全取决于个人,但主要是为了通过浏览器客户端实现web应用程序的自动化,以便进行测试,当然,这并不限于此
验证码
另一方面,CAPTCHA(缩写为…完全自动化的公共图灵测试,用于区分计算机和人类…)是一种挑战-反应测试,用于计算,以确定用户是否为人类
因此,硒和验证码有两个完全不同的用途,理想情况下不应用于完成任何相关任务
话虽如此,reCAPTCHA可以轻松检测网络流量,并将您的程序识别为Selenium驱动的bot
通解
但是,有一些通用方法可以避免在web抓取时被检测到:
这个用例
然而,在几个用例中,我们能够使用硒与reCAPTCHA交互,您可以在以下讨论中找到更多细节:
参考资料
您可以在以下内容中找到一些相关讨论:
tl;博士
为了在抓取Google时绕过验证码,您必须手动解决验证码并导出Google提供给您的cookies。现在,每次打开Selenium WebDriver时,请确保添加导出的cookie。GOOGLE_滥用_豁免cookie是您正在寻找的,但为了安全起见,我会保存所有cookie
如果你想在你的抓取中增加一层稳定性,你应该导出几个cookie,并让你的脚本在每次ping Google时随机选择其中一个
这些饼干的有效期很长,所以你不需要每天都买新的饼干
有关在Python和Selenium中保存和加载cookie的帮助,您应该查看以下答案:How to save and load cookies using Python + Selenium WebDriver
相关问题 更多 >
编程相关推荐