CAPTCHAの自動解決でスクレイピングの中断を軽減

A-Parserでのスクレイピング中に、Google reCAPTCHA、hCaptcha、Cloudflare Turnstileの認証を通過できます。CAPTCHA認識サービスを既存のスクレイパーや独自のJSスクレイパーに接続しましょう。

さまざまなWebサイトに対応

Net::HTTPに内蔵されたCloudflare回避機能

A-Parserに内蔵されたNet::HTTPスクレイパーは、Webサイトからデータを収集し、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スクレイパーのドキュメント

仕組み

CAPTCHAへの対処方法を選択

認識サービスを接続するか、お使いのスクレイパーで利用できる場合は自動処理を使用します。
認識サービスを接続

対応するサービスを選び、キーを入力して設定をプリセットに保存します。その後、そのプリセットを内蔵スクレイパーまたは独自のJSスクレイパーで使用します。

自動処理を利用

Cloudflare Turnstileは認識サービスなしでも解決できます。Autoモードでは、A-Parserがブラウザを使用します。この方法はUtil::Turnstileに対応したスクレイパーで利用できます。Wordstatのスクレイパーでは、Yandex SmartCaptchaの自動回避も利用できます。

補助スクレイパー

CAPTCHA認識用スクレイパー

A-Parserには、さまざまな種類のCAPTCHAに対応する補助スクレイパーがあります。CAPTCHA処理に対応した既存のスクレイパーに接続するか、独自のJSスクレイパーで使用できます。サービスの互換性はCAPTCHAの種類によって異なります。
Cloudflare Turnstile
Util::Turnstile

CAPTCHA認識サービスを利用するか、ブラウザを使って自動的にCloudflare Turnstileを回避します。

Google reCAPTCHA v2
Util::ReCaptcha2

Google reCAPTCHA v2を認識サービスに送信し、スクレイパーで使用するトークンを取得します。

Google reCAPTCHA v3
Util::ReCaptcha3

スクレイピング時に認識サービスを通じてGoogle reCAPTCHA v3を自動解決します。スクレイパーは応答としてトークンを受け取ります。

hCaptcha
Util::hCaptcha

認識サービスを通じてhCaptchaを解決します。スクレイパーがCAPTCHAのデータを送信し、トークンを受け取ります。

画像CAPTCHAの認識
Util::AntiGate

AntiGate互換のサービスやソフトウェアを通じて、画像内の文字を入力するCAPTCHAを認識します。

画像回転型CAPTCHAの認識
Util::RotateCaptcha

RuCaptchaまたは2Captchaから画像の回転角度を取得します。独自のJSスクレイパーで利用できます。

Yandex TranslateによるCAPTCHA認識
Util::YandexRecognize

Yandex Translateを使って、シンプルな画像CAPTCHAを無料で認識します。ただし、認識精度は高くありません。

サービスとソフトウェア

CAPTCHAを解決するサービスとソフトウェア

用途に合ったサービスまたはソフトウェアを選び、プリセットに設定を入力します。対応状況はCAPTCHAの種類、選択したスクレイパー、サービスの機能によって異なります。互換性はドキュメントでご確認ください。

オンラインサービス

CAPTCHA認識サービスです。Util::AntiGateには、ほかのAntiGate互換サービスも接続できます。

ソフトウェア

CAPTCHAの認識には、XEvilやCapMonsterなどのソフトウェアも接続できます。

独自のJSスクレイパー向け

独自のスクレイパーにCAPTCHA認識を組み込む

コードから補助スクレイパーを呼び出します。例えばreCAPTCHA v2では、設定済みのプリセット、サイトキー、ページのURLをUtil::ReCaptcha2に渡すことができます。

JSスクレイパーでのCAPTCHA処理
await this.parser.request(
  'Util::ReCaptcha2',
  this.conf.Util_ReCaptcha2_preset,
  {},
  siteKey + ' ' + endPoint
);

すぐに使えるスクレイパー

CAPTCHA処理に対応するスクレイパー

A-Parserの内蔵スクレイパーは、サイトの認証にさまざまな方法で対応します。スクレイパーに応じて、CAPTCHA認識用のスクレイパーを接続するか、利用可能な自動回避機能を使用できます。

その他の検索エンジン

DogpileではCloudflareの認証を回避し、画像スクレイパーではUtil::ReCaptcha2を使用します。BingではCAPTCHAに対応し、Ramblerではsoft CAPTCHAが解除されるまで待機します。

Yandex Market

CAPTCHAへの対処にはAntiGateを接続するか、Auto-Solve ClickCaptchaを有効にして、サービスを使わずにクリック型CAPTCHAを自動で解決できます。

Majestic

verifyページのTurnstile認証には、認識サービスまたはAutoモードを設定したUtil::Turnstileのプリセットを使用します。

汎用スクレイパー

Net::HTTPはURLからデータを取得し、Chromeを使ってCloudflareの認証を自動回避できます。

PerplexityとCloudflare Radar

これらのスクレイパーには、ブラウザを使ってCloudflareの認証に対処するための設定があります。