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

/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地址上,代码地址:https://github.com/cassieeric/python_crawler。

——————- End ——————-

往期精彩文章推荐:

看完本文有收获?请转发分享给更多的人

Python爬虫与数据挖掘

入群请在微信后台回复【入群】

在公众号后台回复下列关键词可以免费获取相应的学习资料:

Python、网络爬虫 、书籍、数据分析、机器学习、数据结构、

大数据、服务器、Spark、Redis、C++、C、php、

mysql、java、Android、面试题、课堂、其他

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

/1 前言/

今天呢,咱们来说一下Google,我们都知道,Google是目前地表最强的搜索引擎了,我们可以借助Google庞大的搜索资源找到一些自己想要的资源,可能是一些收费电影,可能是一些奇门小说,可能是某个角落的种子,不管怎么说,Google搜索还是挺给力的,但是呢,有梯子的我们可能都遇到过,我们搜索的多了,会有下图的这种情况。

这种验证码呢,叫做ReCaptcha验证码,相对来说,是比较繁琐的验证码之一。

当然了,ReCaptcha不止谷歌一家在用,国外的网站很多都是使用这种验证码,但是在国内不多,因为在国内比较容易被墙,所以用的少。但是我们是高端玩家,在自由的Internet中,我们怎么可能只局限于国内,下面,我们就针对ReCaptcha验证码进行破解。

/2 测试网站预览/

  测试网站:https://www.google.com/recaptcha/api2/demo

谷歌提供的范例,实际网站验证码和这个一模一样。

ReCaptcha验证码样式,如下图所示。

/3 为什么使用第三方平台/

今天呢,咱们来说一下Google,我们都知道,Google是目前地表最强的搜索引擎了。老读者们可能知道,年前的时候我用第三方服务破解了B站的登录,没有来得及上车的小伙伴可以戳这两篇文章:干货|Python大佬手把手带你破解哔哩哔哩网滑动验证(上篇),干货|Python大佬手把手带你破解哔哩哔哩网滑动验证(下篇)。但是经常逛B站的小伙伴们肯定都知道B站目前已经更改了登录方式,想了解之前B站自动登录的小伙伴可以戳这里:Python奇淫技巧之自动登录哔哩哔哩,所以我那篇文章真是赶上了末班车,但是然并卵,现在肯定是登录不了了。后期有时间,给大家整理一篇关于B站破解的新文章学习一下。

嗯,看到这可能有人会对我不屑一顾,说辣鸡才会用第三方平台,要是按照技术来划分的话,我是真的辣鸡,哈哈~~

但是这里要抬杠一下,并不是说用第三方平台就是辣鸡,我们可以想象一下,如果是滑动验证码,我们当然有一试的能力,python可以调用OpenCV,看看文档,当然是可以实现了。但是有个问题是,你可能针对的一个网站的滑动验证识别好了,但是在每个网站的滑动验证码都不太一样的情况下,在用OpenCV识别的时候,可能就会出现识别率低的情况。要是在公司,一直完不成任务,嗯,,,等着被炒鱿鱼吧,再说,像谷歌人机个人也解决不了,没有NB的机器学习是不可能的,所以只能用第三方平台,毕竟,完成任务才是首要任务。

话不多说,这里选用的第三方平台:https://2captcha.com/zh?from=8779379。

/4 为什么使用第三方平台/

我们先来了解一下现在打码平台机制大概都有哪些,不是很全面,但是可以参考一下。

第一种呢:就是打码平台训练好各种各样的数据,比如,哪些是花,哪些是车,然后我们把图片发送给打码平台,他给我们结果,但是这样会有个问题,如果训练的不好,我们这边的结果也是很不好的,各种不准确,影响效果

第二种:就是平台雇人,我们把整个验证码都给打码平台,平台找人帮助我们点击,然后把结果给我们,我们在登录了或者做其他

我们可以看出来,肯定是第二种更加灵活的,现在阶段,机器再NB,至少 在验证码上准确率还是不如我们人类这么机智的。

2captcha平台目前采用的就是第二种方式,赚取的是中间差价,但是识别率是我用过最高的,曾经因为选错了平台,一直不成功,加班加点,鼠标都被我砸坏了,唉,所以,选择一个合适的平台还是很重要的

/5 所需工具/

Chromedriver:浏览器驱动,可以理解为一个没有界面的chrome浏览器。

Selenium:用于模拟人对浏览器进行点击、输出、拖拽等操作,就相当于是个人在使用浏览器,也常常用来应付反爬虫措施。

/6 总结/

写到这里,文章字数已经将近2000字了,介于篇幅原因,这篇文章主要介绍了第三方打码平台(点击阅读原文可以获取)和破解的理论部分,下一篇文章将详细介绍破解谷歌人机的具体过程,下篇文章会配上较多的图和代码,小伙伴们敬请期待吧!

——————- End ——————-

往期精彩文章推荐:

看完本文有收获?请转发分享给更多的人

Python爬虫与数据挖掘

入群请在微信后台回复【入群】

在公众号后台回复下列关键词可以免费获取相应的学习资料:

Python、网络爬虫 、书籍、数据分析、机器学习、数据结构、

大数据、服务器、Spark、Redis、C++、C、php、

mysql、java、Android、面试题、课堂、其他