自动解决验证码,减少数据采集过程中的中断

使用 A-Parser 采集数据时,处理 Google reCAPTCHA、hCaptcha 和 Cloudflare Turnstile 验证。为内置或自定义 JS 爬虫工具接入验证码识别服务。

适用于任意网站

Net::HTTP 内置 Cloudflare 绕过功能

A-Parser 内置的 Net::HTTP 爬虫工具可采集网站数据,并支持使用 Chrome 自动绕过 Cloudflare 验证。

JA3、JA3N、JA4、JA4H 和 Akamai 指纹

有些网站会分析连接和请求参数,以区分爬虫工具与普通浏览器。A-Parser 内置 HTTP 客户端可复现 Windows 和 Android 版 Chrome 的 TLS 和 HTTP/2 指纹。

  • JA3、JA3N 和 JA4. 反映建立连接时 TLS 客户端的参数。
  • JA4H. 描述 HTTP 请求的方法、协议版本和请求头。
  • Akamai. 反映 HTTP/2 连接设置和伪头部的顺序。

这样,A-Parser 的请求在连接参数上看起来就像 Chrome 发出的请求,有助于在数据采集时避免被封禁。

Net::HTTP 爬虫工具文档

工作原理

选择验证码处理方式

接入验证码识别服务,或在爬虫工具支持时使用自动处理方式。
接入验证码识别服务

选择兼容的服务,填写密钥并将设置保存到预设中,然后在内置或自定义 JS 爬虫工具中接入该预设。

使用自动处理方式

Cloudflare Turnstile 无需识别服务即可解决:在 Auto 模式下,A-Parser 使用浏览器进行处理。此方式适用于支持 Util::Turnstile 的爬虫工具。Wordstat 爬虫工具还支持自动绕过 Yandex SmartCaptcha。

辅助爬虫工具

验证码识别爬虫工具

A-Parser 提供适用于不同验证码类型的辅助爬虫工具。您可以将其接入支持验证码处理的内置爬虫工具,也可以在自定义 JS 爬虫工具中使用。服务的兼容性取决于验证码类型。
Cloudflare Turnstile
Util::Turnstile

通过验证码识别服务或使用浏览器自动绕过 Cloudflare Turnstile。

Google reCAPTCHA v2
Util::ReCaptcha2

将 Google reCAPTCHA v2 发送给识别服务,并获取令牌供爬虫工具使用。

Google reCAPTCHA v3
Util::ReCaptcha3

采集数据时,通过识别服务自动解决 Google reCAPTCHA v3。爬虫工具会收到一个令牌作为响应。

hCaptcha
Util::hCaptcha

通过识别服务解决 hCaptcha:爬虫工具发送验证码数据并获取令牌。

图片验证码识别
Util::AntiGate

通过兼容 AntiGate 的服务和软件识别图片中的文字验证码。

旋转图片验证码识别
Util::RotateCaptcha

从 RuCaptcha 或 2Captcha 获取图片旋转角度。适用于自定义 JS 爬虫工具。

通过 Yandex Translate 识别验证码
Util::YandexRecognize

借助 Yandex Translate 免费识别简单的图片验证码,但准确率较低。

服务与软件

验证码识别服务与软件

选择合适的服务或软件,并在预设中填写相应设置。支持情况取决于验证码类型、所选爬虫工具和服务能力,请在文档中确认兼容性。

在线服务

验证码识别服务。Util::AntiGate 还可以接入其他兼容 AntiGate 的服务。

软件

也可以接入 XEvil 和 CapMonster 软件来识别验证码。

适用于自定义 JS 爬虫工具

在自己的爬虫工具中接入验证码识别

从代码中调用辅助爬虫工具。例如,对于 reCAPTCHA v2,可向 Util::ReCaptcha2 传入已配置的预设、网站密钥和页面地址。

在 JS 爬虫工具中处理 CAPTCHA
await this.parser.request(
  'Util::ReCaptcha2',
  this.conf.Util_ReCaptcha2_preset,
  {},
  siteKey + ' ' + endPoint
);

内置爬虫工具

哪些爬虫工具支持验证码处理

A-Parser 内置爬虫工具采用不同方式处理网站验证。根据所用工具,您可以接入验证码识别爬虫工具,或使用支持的自动绕过功能。

Yandex Market

接入 AntiGate 处理验证码,或启用 Auto-Solve ClickCaptcha,无需识别服务即可自动解决点选验证码。

Majestic

verify 页面上的 Turnstile 验证使用 Util::Turnstile 预设,可选择识别服务或 Auto 模式。

通用爬虫工具

Net::HTTP 根据 URL 获取数据,并可通过 Chrome 自动绕过 Cloudflare 验证。