手把手使用Python教你破解谷歌(Google)人机验证码—下篇

时间:2024-03-11 15:46:28

/1 前言/

  昨天其实已经发布了上篇,但是忘记标注原创了,今天继续将其发布出来,与下篇一起给大家,这样大家就可以直接重头看到尾了。这篇文章主要是实战,实现谷歌人机破解具体过程。

/2 实现步骤/

  1、既来之则安之,选择了2captcha,就要看看人家的官网啦,如下图所示。

 

  2、嗯...纯英文,我也看不懂..怎么办呢,别着急,我带你们一步一步分析主要功能。首先来登录账号,如下图所示。

 

  3、登录完成后,会自动跳到主页,如下图所示。

 

  上图中第一个红色圈起来的地方表示剩余多少钱,没有钱的话记得要氪金,否则是不能用滴,氪金过程这里就不多做解释了哈,问题不大

  第二个红色圈起来的地方表示这是你的唯一key,每次请求要带上这个key的,所以要保管好

  4、进入主题,研究文档。点击红色圈的地方,API,一般API都是文档,如下图所示。

 
 

  5、En....什么玩意..完全看不懂,别慌,往下滑

 

  滑到rates这个目录,我们知道,谷歌人机是ReCaptcha,但是三个呢,到底是哪个呢,我就来带大家看看。

  6、首先点击ReCaptcha(oldmethod),这个是老的方法,咱也不知道唉,所以就先看看这个吧,从浅到深嘛,这里呢,我都直接翻译了一下,方便我们观看。

 

  7、Look,人家也说了,旧方法解决ReCaptcha准确率比较低,建议使用新方法,那我们就点击新方法去看看。

 

  8、我们找到了,这种属于ReCaptcha v2验证码,确实和谷歌人机挺一样的,我们来看一下文档是怎么写的。

 
 

  9、人家说,我们先找到data-sitekey参数,然后将data-sitekey参数提交到https://2captcha.com/in.php,等个15-20s再向https://2captcha.com/res.php获取结果。然后找到id=g-recaptcha-response的textarea标签,将display:none这个css删除,将给我们字符串添加到textarea输入框点击提交,就完成了。

是不是很简单?我们也来试一下。打开谷歌的示例样式,如下图所示。

 

  10、我们打开开发者工具,搜索data-sitekey,可以看到,真的有一个。

 

  11、我们赋值一下这个data-sitekey,并且用代码获取到最后的结果。

 

  12、然后我们找到 id=g-recaptcha-response 的textarea标签,将他的display属性删除。

 

  13、但是有点不太对。

 

  14、Look,下图这个是2captcha的示例的。

 

  我们可以看到,2captcha是个删除display之后,textarea框是直接展示出来的,但是我们删除display之后,基本没用丝毫动静,这...

  15、别着急,人家都想到了,我们往下滑滑。

 

  既然我们不能直接显示出来textarea,那就说明我们是隐式的ReCaptcha验证码,其实他的原理呀,也挺简单。

  如果你学过一些前端,会些js,你可能就会想到,虽然我看不到这个textarea,但是通过js我们仍然能更改textarea的数据,只是说,我们鼠标点击不了而已,人家也说了,看第一个红圈的位置,通过此js,我们我们就可以把向2captcha获取的值赋值上,第二个圈js是提交表单,其实就是我们人点击提交而已,只不过是js代码帮我们完成了,这样,我们也完成了一个偷天换日。

/3 小试牛刀/

  1、好嘞,我们就先来手动搞一下,在上述中,我们已经根据data-sietkey拿到了最后的结果,显然,我们只能通过js完成,那么,我们就试一下。

 

  通过上述gif看到,我们通过js,确实绕过了点击车辆识别了,其他识别,确实方便。

  2、但是我们不可能通过人每次这样搞呀,但是因为牵扯到了执行js,所以只能使用selenium,所以,我们来看一下selenium上的效果吧。

 

 Look,这样,我们就针对谷歌人机(ReCaptcha)验证码,完成了自动登录,如果爬取国外的某某网站时,如果遇到了ReCaptcha,我相信一定会对你有帮助。

/4 结语/

本文主要介绍了使用第三方平台(https://2captcha.com/zh?from=8779379)去破解谷歌人机登录,方法有些曲折,但是行之有效。

  欢迎大家尝试,消耗在家的无聊时间。本文涉及的代码都上传到了github地址上,后台回复“谷歌人机”四个字即可获取代码。