CAPSOLVER
ブログ
PlaywrightとCapSolverを使ったreCAPTCHAの解き方(ステップバイステップガイド)

PlaywrightとCapSolverを使ったreCAPTCHAの解き方(ステップバイステップガイド)

Logo of CapSolver

Sora Fujimoto

AI Solutions Architect

04-Sep-2025

WebスクレイピングでCAPTCHAに遭遇したことはありますか?多くのウェブサイトでは、自動アクセスを防ぐためにCAPTCHAシステム(reCAPTCHAが主流です)が使用されています。このガイドでは、CapSolver — 強力なCAPTCHA解決API — を使用して、PlaywrightでreCAPTCHA v2とv3を自動的に解決する方法を説明します。

Playwrightとは?

Playwrightは、オープンソースのNode.jsライブラリで、ブラウザの自動化に使用されます。Chromium、Firefox、WebKitなど複数のブラウザをサポートしており、開発者にとって汎用性の高いツールです。Playwrightは、信頼性、速度、動的なコンテンツの処理、フォームへの入力、ポップアップの処理など、複雑なWeb操作を処理できる能力で知られています。

厄介なCAPTCHAを完全に解決できないことで悩んでいませんか?

CapsolverのAI搭載自動Webブロック解除テクノロジーで、シームレスな自動CAPTCHA解決を実現しましょう!

最高のCAPTCHAソリューションのためのボーナスコードを請求しましょう;CapSolverWEBS コードを利用すると、チャージごとに追加で5%のボーナスがもらえます。無制限です

reCAPTCHAとは?Webスクレイピングにおける重要性

reCAPTCHAは、Googleが開発したCAPTCHAシステムで、人間のユーザーとボットを区別するために設計されています。ユーザーには、画像の識別や「私はロボットではありません」というラベルの付いたチェックボックスのチェックなどのタスクが提示されることがよくあります。これらのタスクは人間にとっては簡単ですが、ボットにとっては大きな課題であり、それがまさにポイントです。

reCAPTCHAにはいくつかのバージョンがあり、それぞれが独自のやり方で人間とボットを区別するように設計されています。

  • reCAPTCHA v1:元のバージョンでは、ユーザーは歪んだテキストを解読してテキストボックスに入力する必要がありました。
  • reCAPTCHA v2:このバージョンでは、ユーザーが「私はロボットではありません」をクリックすることで人間の身元を確認するおなじみのチェックボックスが導入されました。場合によっては、ユーザーにグリッドから特定の画像を選択して認証を求めることもあります。
  • reCAPTCHA v3:以前のバージョンとは異なり、reCAPTCHA v3はバックグラウンドで静かに動作し、ユーザーの行動を分析して、ユーザーが人間である可能性が高いのか、ボットである可能性が高いのかを示すリスクスコアを割り当てます。このバージョンはシームレスなエクスペリエンスを提供し、ユーザーからの直接的な操作は必要ありません。

このブログでは、本物のユーザーとボットを区別するために広く使用されているreCAPTCHA V2とV3の解決に焦点を当てます。reCAPTCHA V2は通常、「私はロボットではありません」というプロンプト付きのチェックボックスを表示しますが、reCAPTCHA V3は非表示のバッジとして表示され、ユーザーエクスペリエンスを中断することなくチェックを実行します。reCAPTCHAの動作例を以下に示します。

WebスクレイピングにPlaywrightを使用する理由

Playwrightは複数のブラウザでリアルユーザーの操作をシミュレートできるため、Webスクレイピングに最適です。フォームへの入力、ページ間のナビゲーション、動的コンテンツとのやり取りなど、複雑なシナリオを処理できます。ただし、ウェブサイトでreCAPTCHAが使用されている場合、Playwrightだけでは課題を解決できません。ここでCapSolverの出番です。

ステップバイステップ:PlaywrightとCapSolverでreCAPTCHA v2を解決する

CapSolverは、reCAPTCHA v2v3など、幅広いCAPTCHAに対応した包括的なサポートを提供しています。調整されたソリューションにより、最も高度なセキュリティシステムでもスムーズに操作できます。

CapSolverの主な機能を以下に示します。

  • 幅広いCAPTCHAに対応:reCAPTCHAからTurnstileまで、CapSolverはすべてを処理できます。
  • 簡単なAPI統合:ドキュメントが用意されているため、CapSolverを既存のアプリケーションに簡単に統合できます。
  • ブラウザ拡張機能:Chromeで使用可能な拡張機能により、ブラウザ内で直接CAPTCHAを解決できます。
  • 柔軟な価格設定:CapSolverはさまざまなニーズに対応したさまざまな価格プランを提供しているため、プロジェクトに合ったプランを見つけることができます。

インストールと設定

Playwrightを使用してreCAPTCHAの課題を解決するには、playwright-recaptchaライブラリをインストールする必要があります。このライブラリには、reCAPTCHA v2の音声チャレンジを転写するために、システムにFFmpegがインストールされている必要があります。

オペレーティングシステムに基づいて、次のコマンドを使用して必要なライブラリとFFmpegをインストールできます。

ライブラリのインストール:

bash Copy
pip install playwright-recaptcha

FFmpegのインストール:

  • Debian:

    bash Copy
    apt-get install ffmpeg
  • MacOS:

    bash Copy
    brew install ffmpeg
  • Windows:

    bash Copy
    winget install ffmpeg

注記: pydubがそれらを見つけることができるように、ffmpegffprobeバイナリがシステムのPATHにあることを確認してください。

ワークフローへのCapSolverの統合

必要なツールをインストールしたら、WebスクレイピングプロジェクトにCapSolverを統合して、reCAPTCHAの課題を自動的に処理できます。Pythonを使用した方法の例を以下に示します。

CapSolverを使用したreCAPTCHA v2解決のサンプルコード

python Copy
# pip install requests
import requests
import time

# TODO: set your config
api_key = "YOUR_API_KEY"  # capsolverのAPIキー
site_key = "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"  # ターゲットサイトのサイトキー
site_url = "https://www.google.com/recaptcha/api2/demo"  # ターゲットサイトのページURL


def capsolver():
    payload = {
        "clientKey": api_key,
        "task": {
            "type": 'ReCaptchaV2TaskProxyLess',
            "websiteKey": site_key,
            "websiteURL": site_url
        }
    }
    res = requests.post("https://api.capsolver.com/createTask", json=payload)
    resp = res.json()
    task_id = resp.get("taskId")
    if not task_id:
        print("Failed to create task:", res.text)
        return
    print(f"Got taskId: {task_id} / Getting result...")

    while True:
        time.sleep(3)  # 遅延
        payload = {"clientKey": api_key, "taskId": task_id}
        res = requests.post("https://api.capsolver.com/getTaskResult", json=payload)
        resp = res.json()
        status = resp.get("status")
        if status == "ready":
            return resp.get("solution", {}).get('gRecaptchaResponse')
        if status == "failed" or resp.get("errorId"):
            print("Solve failed! response:", res.text)
            return


token = capsolver()
print(token)

CapSolverを使用したreCAPTCHA v3解決のサンプルコード

python Copy
# pip install requests
import requests
import time

# TODO: set your config
api_key = "YOUR_API_KEY"  # capsolverのAPIキー
site_key = "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_kl-"  # ターゲットサイトのサイトキー
site_url = "https://www.google.com"  # ターゲットサイトのページURL


def capsolver():
    payload = {
        "clientKey": api_key,
        "task": {
            "type": 'ReCaptchaV3TaskProxyLess',
            "websiteKey": site_key,
            "websiteURL": site_url,
            "pageAction": "login",
        }
    }
    res = requests.post("https://api.capsolver.com/createTask", json=payload)
    resp = res.json()
    task_id = resp.get("taskId")
    if not task_id:
        print("Failed to create task:", res.text)
        return
    print(f"Got taskId: {task_id} / Getting result...")

    while True:
        time.sleep(1)  # 遅延
        payload = {"clientKey": api_key, "taskId": task_id}
        res = requests.post("https://api.capsolver.com/getTaskResult", json=payload)
        resp = res.json()
        status = resp.get("status")
        if status == "ready":
            return resp.get("solution", {}).get('gRecaptchaResponse')
        if status == "failed" or resp.get("errorId"):
            print("Solve failed! response:", res.text)
            return


token = capsolver()
print(token)

WebスクレイピングにおけるCAPTCHA処理のベストプラクティス

  1. プロキシを使用する: ウェブサイトをスクレイピングする際には、禁止またはレート制限を回避するためにプロキシを使用することが重要です。

  2. ユーザーエージェントをローテーションする: 検出をさらに回避するには、ユーザーエージェント文字列をローテーションして、さまざまなブラウザやデバイスを模倣します。

  3. ウェブサイトのポリシーを尊重する: ウェブサイトのrobots.txtファイルを常に確認し、そのスクレイピングルールに従ってください。サーバーに過剰なリクエストを送信しないようにしてください。

  4. エラーを適切に処理する: CAPTCHAの解決に失敗した場合のシナリオを管理するために、スクリプトにエラー処理を実装します。これにより、スクレイピングプロジェクトの堅牢性を維持できます。

まとめ

PlaywrightとCapSolverを組み合わせることで、reCAPTCHA v2とv3を自動的にバイパスし、スクレイピングプロジェクトをスムーズに実行できます。高速で信頼性が高く、手動による中断から解放されます。

👉 自分で試したいですか?CapSolverの公式ドキュメントを確認し、今すぐボーナスコードを請求しましょう。

Playwrightを使用したreCAPTCHA解決に関するFAQ

Q1:PlaywrightでreCAPTCHAを解決する最も簡単な方法は?
最も簡単な方法は、CapSolverのAPIを統合することです。これにより、v2とv3のトークンが自動的に処理されます。

Q2:CapSolverはreCAPTCHA v3を処理できますか?
はい。必要なminScoreに基づいてgRecaptchaResponseトークンを返します。

Q3:CapSolverの速度は?
システムの負荷によっては、通常数秒です。

Q4:プロキシなしでCapSolverを使用できますか?
はい、ただしプロキシを使用すると安定性が向上し、ブロックが減少します。

コンプライアンス免責事項: このブログで提供される情報は、情報提供のみを目的としています。CapSolverは、すべての適用される法律および規制の遵守に努めています。CapSolverネットワークの不法、詐欺、または悪用の目的での使用は厳格に禁止され、調査されます。私たちのキャプチャ解決ソリューションは、公共データのクローリング中にキャプチャの問題を解決する際に100%のコンプライアンスを確保しながら、ユーザーエクスペリエンスを向上させます。私たちは、サービスの責任ある使用を奨励します。詳細については、サービス利用規約およびプライバシーポリシーをご覧ください。

もっと見る