跳转到主要内容

处理 CAPTCHA

为了在 A-Parser 中处理和解决验证码,我们实现了特殊的方法,允许使用以下爬虫工具将验证码发送到验证码识别服务进行识别:

此外,使用 await this.parser.request() 方法也可以轻松识别 CAPTCHA。

例如,为 Google ReCaptcha v2 调用此方法如下所示:

await this.parser.request('Util::ReCaptcha2', this.conf.Util_ReCaptcha2_preset, {}, siteKey + ' ' + endPoint);

更多细节可以参考目录中的示例:通过 cyren.com 服务检查网站分类

关于CAPTCHA bypass (绕过验证码)的更多细节

await this.captcha.*

处理验证码

.recognize(preset, image, type[, overrides])

await this.captcha.recognize(preset, image, type, overrides) - 上传验证码进行识别

  • image - 用于识别的图片二进制数据
  • preset - 指定 Util::AntiGateUtil::AntiGate 的预设
  • type 指定为以下之一:'jpeg', 'gif', 'png'

结果将是一个包含以下字段的哈希:

  • answer - 图片中的文本
  • id - 验证码 ID,以便后续通过 .reportBad 报告错误
  • error - 文本错误(如果未设置 answer

.recognizeFromUrl(preset, url[, overrides])

await this.captcha.recognizeFromUrl(preset, url, overrides) - 与前一个方法类似,但验证码将通过链接 (url) 自动下载,不使用代理

.reportBad(preset, id[, overrides])

await this.captcha.reportBad(preset, id, overrides) - 告知服务验证码识别错误