在做 Twitter 机器人系统的时候,遇到了 Android 平台上怎么解析 CAPTCHA 人机识别系统的问题,虽然一些解析 CAPTCHA 服务商提供了基于 web 的客户端,但是很少有提供 Android 平台上的客户端,只是提供了 API ,所以自己就写了个客户端,可以直接集成于脚本中。
如果感觉对你有用,请在 github 中点个星,谢谢!
源代码: https://github.com/lilerjee/captcha-solver-on-Adroid
下面是 github 上面的一些介绍,有兴趣的可以查看 github 页面。
这是个运行在 Android 平台上的用来解析 CAPTCHA 人机识别系统(reCAPTCHA/funCAPTCHA)的客户端软件, 这个客户端使用了其他网站提供的 CAPTCHA 人机识别系统服务(例如 Deathbycaptcha, 2captcha).
这个客户端是从我创建的 Twitter 自动化机器人系统里面提取出来的,没有测试这个提取出来的结果, 但是我可以保证这个客户端可以解析两种不同的 CAPTCHA 人机识别系统:reCAPTCHA 和 funCAPTCHA.
你可以基于这个客户端来创建其他类型的 CAPTCHA 人机系统解析方案客户端.
为什么创建运行 Android 平台上的用来解析 CAPTCHA 人机识别系统的客户端呢?
CAPTCHA 人机识别系统服务提供者一般提供了用户友好的基于浏览器的客户端及其相关 API , 但是基本上没有提供用户友好的基于 Android 的客户端,仅仅提供了相关的 API ,用户不得不自己 创建可以直接使用的用户友好的基于相关 API 的客户端。
所以为了解析在 Android 上面的 CAPTCHA 人机识别系统, 我创建了用户友好的基于相关 API 的客户端。
这个客户端把 CAPTCHA 图片截图下来,然后把这个截图缩小以满足 CAPTCHA 服务提供者的大小限制, 然后通过 API 把这个缩小的截图发送到 CAPTCHA 服务器。获取到服务器返回的结果(正确图片的坐标)后, 客户端就会从原始的坐标计算正确的坐标, 然后点击正确的 CAPTCHA 图片。
这个客户端包含两层,第一层是 CAPTCHA 人机识别系统解析服务提供者的 API 客户端,例如 DeathByCaptchaUI
,
用来与解析服务器进行通信与获取解析后的结果;第二层是 CAPTCHA 人机识别系统的解析 API 客户端,例如
FuncaptchaAndroidUI
, 用来针对具体的 CAPTCHA 处理特定的解析逻辑。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.