本文转自公众号:如何优雅的破解HCaptcha验证码
HCaptcha介绍
HCaptcha是国外知名的验证码服务商,其主要功能就是为网站提供验证码服务,避免网站被恶意爬虫肆意爬取信息。相比于HCaptcha,大家可能更加熟悉Google reCaptcha(Google提供的验证码服务),但因为某些原因,国内是无法使用Google reCaptcha的,所以HCaptcha便成为多数国际型网站更优的一个选择。
...
HCaptcha验证码会给你一个问题,比如上图的问题是【请点击每张包含火车的图片】,我们需要从下面的九张图中选择出含有火车的图片,如果九张图片中,没有火车,则点击【跳过】按钮,如果有,则将所有带有火车的图片都选择上,跳过按钮会变成【检查】按钮,如下图:
...
通过验证后,便会出现如下结果:
...
体验HCaptcha
...
至此,HCaptcha的大体情况我们已经熟悉了,那么我们要怎么突破该验证码呢?当然是使用机器学习相关的技术啦,下面我们介绍一款简单好用的平台。
解决方案
对于HCaptcha验证码,我们可以使用YesCaptcha服务来破解,该服务使用起来非常简单,访问其主页:http://www.yescaptcha.com/,通过邮箱注册一个账户。
...
属性 | 类型 | 必须 | 说明 |
---|---|---|---|
type | string | 是 | HCaptchaClassification 10 点数 |
queries | list[string] | 是 | Base64 编码的图片,不要包含 "data:image/***;base64," |
以列表形式拼合1到9张图片:[base64, base64,base64,……] | |||
question | String | 是 | 问题 ID, 请查表,支持中英文,其他语言请自行转换 |
代码实现
通过文档可知,我们需要HCaptcha验证码九宫格中图片对应的Base64以及验证码中的问题,通过Chrome的Network可知,HCaptcha会通过https://hcaptcha.com/getcaptcha获得验证码图片,该接口会返回JSON格式的数据,其中就包含了验证码的问题以及九宫格中的图片,如下图所示:
...