谷歌地图翻墙怎么操作
之前我在写上一篇如何识别滑动验证码问题的时候,当时朋友留言问我能不能做一个机器学习的,我回复了,我说当然没问题,你等着,我这周就做。 我那周从周一做到周五,我记得用的应该是 yolo,反复修改,小马还经常过来催崔稿,耗费良久,然后就在那周周五晚上的 23:59 分,我灵机一动,终于明白了。 去他的机器学习,有服务不好吗? reCAPTCHA 本身比极验还要复杂,国内网站我暂时没看到破解的,然后这次是用的俄罗斯的一个服务商 2Captcha 提供的 图像识别和一系列行为验证码的识别服务。
破解验证码背后有图像识别算法和大量人力的支撑,如果我们仅仅是简单的图形验证码,其可以通过一些图像识别算法将内容识别出来转化为文本内容。如果是较为复杂的图形验证码或者像 reCAPTCHA 类似的行为验证码,其背后会有人来对验证码进行模拟,然后返回其验证成功后的秘钥,我们利用其结果便可以完成一些验证码的绕过。 当然这种网站肯定是要收费的,按照 1000 次识别为单位,其花费的费用为 0.5 美刀到 2.99 美刀不等,比如非常简单的图形验证码可能就是 0.5 美刀,这种验证码对于其人力和算力资源消耗都是相对较小的,对于复杂的 reCAPTCHA 验证码,就要花 2.99 美刀了,因为识别这么一个验证码并不容易,其背后的人可能需要看好多图,点选好多次才能完成一次成功的验证。 目前我用的服务的收费标准是这样的:
去查看。 后面我用他的服务来破解 reCAPTCHA,当然类比其他服务也是可以的,过程大概都是这样。
要使用 2Captcha,第一步当然是注册一下它的账号了,注册完成之后我们可以进入到 2Captcha 的控制台,类似于这样子:
在这里我们可以看到账户余额、API KEY、FAQ 等配置。 这里最重要的就是 API KEY 了,它是我们用来使用 2Captcha 的凭证,我们将它复制下来,后面我们会在代码中使用它。
在上文我们已经介绍过 reCAPTCHA V2 的使用和交互流程了,下面我们来介绍下其识别和绕过的基本流程。 在这里我们就拿官方的 reCAPTCHA V2 的示例网站来做演示吧,其网址为:,打开之后界面如下所示
在这里可以看到有一个表单,上面有一些输入框,下方是 reCAPTCHA V2 验证码。 要识别这个验证码,第一步便是找到这个验证码 sitekey,这个是验证码的唯一标识。 我们打开浏览器的开发者工具,查看其页面源码,首先找到 reCAPTCHA 的源代码,如下图所示:
可以看到 reCAPTCHA 是对应了一个 iframe,我们看到的 reCAPTCHA 内容都是在 iframe 里面呈现出来的。 这里我们可以观察到在 reCAPTCHA 的源码的最外层的 div 上面有一个字段,叫做 data-sitekey,这就是刚才我们所说的 sitekey,它是验证码的唯一标识,比如这里我先将这个 sitekey 保存下来,这里其值为:
下一步,我们就需要将这个 sitekey 和当前页面的 URL 告诉 2Captcha,让 2Captcha 来帮助我们识别这个 reCAPTCHA 验证码,告诉 2Captcha 之后,2Captcha 会利用这些信息加载出对应的验证码,再利用其背后的人力来对验证码进行识别,最后将识别得到的 token 返回给我们即可。 好,那么接下来怎么把这个信息告诉 2Captcha 呢? 很简单,2Captcha 为我们提供了一个接口,其接口地址为:,我们只需要将对应的信息发送到这个接口就好了。 那么发送需要什么参数呢,在这里介绍一下:
这时候我们直接向这个 URL 发起一个 GET 请求即可。 我们可以直接在浏览器里面输入这个 URL,也可以使用 requests 等请求库来完成:
这里它返回了一个 JSON 格式的数据,其中 status 代表请求状态,如果是 1 的话,代表请求成功,另外其还会包含一个 request 字段,其内容是一个 ID,这个 ID 就是识别这个验证码的任务的 ID。因为 2Captcha 背后有很多人来帮助识别验证码,所以 2Captcha 将每个验证码的识别划分为一个个任务,每个任务都有一个唯一的 ID,刚分配任务时,这个任务被标记为 NOT_READY 状态。这些任务接下来会被分发给一个个人,识别完成之后,该任务就会被标记为已经识别状态,同时附有识别之后的信息,如 token 等内容。 好,刚才的接口请求成功之后,这个 reCAPTCHA 的识别任务就已经被下发了,其背后会有对应的人来对这个 reCAPTCHA 验证码进行识别,识别过程可能需要十几秒到几十秒不等,我们可以通过另一个接口来获取任务的结果。 获取结果的接口地址为:,同样我们需要传入一些参数,其参数介绍如下:
如果其返回的是如上格式的数据,就代表 reCAPTCHA 验证码已经识别成功了,其返回的 request 字段的内容就是识别的 token,我们直接拿着这个 token 放到表单里面提交就成功了。 那这个 token 怎么来用呢? 其实如果不走 2Captcha 接口,我们如果人工验证成功之后,在其表单里面会把一个 name 叫做 g-recaptcha-response 的 textarea 赋值,如果验证成功,它的 value 值就是验证之后得到的 token,这个会作为表单提交的一部分发送到服务器进行验证。如果这个字段校验成功了,那就没问题了。
所以,2Captcha 相当于为我们模拟了点选验证码的过程,其最终得到的这个 token 其实就是我们应该赋值给 name 为 g-recaptcha-response 的内容。 那么怎么赋值呢? 很简单,用 JavaScript 就好了。我们可以用 JavaScript 选取到这个 textarea,然后直接赋值即可,代码如下:
需要换成刚才我们所得到的 token 值。我们做爬虫模拟登录的时候,假如是用 Selenium、Puppeteer 等软件,在模拟程序里面,只需要模拟执行这段 JavaScript 代码,就可以成功赋值了。 执行之后,直接提交表单,我们查看下 Network 请求:
可以看到其就是提交了一个表单,其中有一个字段就是 g-recaptcha-response,它会发送到服务端进行校验,校验通过,那就成功了。 所以,如果我们借助于 2Captcha 得到了这个 token,然后把它赋值到表单的 textarea 里面,表单就会提交,如果 token 有效谷歌地图翻墙怎么操作,就能成功绕过登录,而不需要我们再去点选验证码了。 最后我们得到如下成功的页面:
至此,我们就成功地借助 2Captcha 来完成了 reCAPTCHA V2 验证码的识别。
本节我们介绍了利用 2Captcha 来帮助识别 reCAPTCHA V2 的流程。那应该来讲,我觉得工程师使用这样的服务并不是一种令人羞耻的过程,尤其是他可以以比较低的价格实现你的需求的情况下。毕竟你的时间,本身就是一种价值。 最后 2Captcha 这个网站我放在下面,有感兴趣的朋友可以看一下。另外如果有什么爬虫方面想看的文章,也欢迎在下面留言,我们会挑选被点赞较多的主题尽快写文。谢谢!
[论文笔记] Learning Phrase Representations using RNN Encoder–Decoder for Statistical Machine Translation 珊瑚贝
《PPT从零基础到高手快速掌握PPT的各种应用场合》视频教程 〖官方精品资源〗 珊瑚贝
严禁任何人以任何形式在本站发表与我国法律相抵触的言论!本站资源仅供本地学习研究,禁止用于任何违法犯罪活动!
所有资源来自网络收集整理,版权和著作权归原作者所有,仅供本地研究学习。若有侵权,请联系管理员及时删除!
所有资源严禁用于任何商业目的,否则一切后果请用户自负。如您需要商用,请支持和购买正版,本站不对您的使用负任何责任!