複数の reCAPTCHA チャレンジを同時に処理する方法

Sora Fujimoto
AI Solutions Architect
10-Sep-2024

Webスクレイピングを行う際に、遭遇する可能性のある一般的な障害の1つは、CAPTCHAチャレンジです。ウェブサイトはしばしば、ボットが自分のコンテンツにアクセスするのを防ぐためにCAPTCHAを使用します。CAPTCHA(Completely Automated Public Turing test to tell Computers and Humans Apart)は、ユーザーが人間であり、自動化されたボットではないことを確認するために広く使用されている手法です。
このガイドでは、さまざまな種類のreCAPTCHAチャレンジ、ツールを使用してそれらを識別する方法、そして最後に、Pythonとスレッドを使用して複数のreCAPTCHAチャレンジを同時に解決する方法について説明します。
Webスクレイピングとは?
Webスクレイピングは、ウェブサイトからデータを抽出するプロセスです。これは、電子商取引ウェブサイトから価格を収集したり、ニュース記事を集めたり、さまざまなウェブソースから情報を集約したりするなどのタスクによく使用されます。スクレイピングには、ウェブサイトにHTTPリクエストを行い、応答からデータを解析することが含まれます。ただし、多くのウェブサイトでは、自動アクセスを防止するためにCAPTCHAを使用しています。
reCAPTCHAチャレンジの種類
reCAPTCHA v2
reCAPTCHA V2は、最も広く使用されているタイプのCAPTCHAであり、「私はロボットではありません」というラベルの付いた「チェックボックス」チャレンジとして表示されます。ユーザーに特定の画像を選択して、人間であることを確認するように求める場合があります。

reCAPTCHA v3
reCAPTCHA V3は、バックグラウンドで動作し、ユーザーの操作をスコア付けして、ボットのような動作を検出します。このシステムは、ウェブサイトにスコアを提供することで、ユーザーエクスペリエンスを妨げるのを避けるように設計されており、これを使用してボットをブロックしたり、追加の検証手順を要求したりできます。
非表示のreCAPTCHA
非表示のreCAPTCHAは、reCAPTCHA v2のよりユーザーフレンドリーなバージョンであり、システムがボットのような動作を疑う場合にのみ、チャレンジが表示されます。

CAPTCHAの種類を特定する
インストール
ウェブサイトで使用されているCAPTCHAの種類を特定するには、次のツールを使用できます。
- Chromeユーザー: Captcha Solver Auto Solve拡張機能をインストールします。
- Firefoxユーザー: Captcha Solver Auto Solver FireFox Versionをインストールします。
Capsolverのセットアップ
Capsolverは、プログラムでCAPTCHAチャレンジを解決できるサービスです。CAPTCHAパラメーターを検出するには:
- Capsolverにアクセスします。
- キーボードの「F12」キーを押して、ブラウザーの開発者ツールを開きます。
- Capsolver Captcha Detectorというラベルの付いたタブに移動します。

CAPTCHAの検出
Capsolverをセットアップしたら、次の手順に従ってCAPTCHAパラメーターを検出します。
- Capsolverパネルを閉じずに、CAPTCHAをトリガーするウェブサイトにアクセスします。
- CAPTCHAを手動でトリガーします。
- CAPTCHAをトリガーする前にCapsolverパネルを閉じないでください。
reCAPTCHAの検出
Capsolver Captcha Detectorは、reCAPTCHAsに関する詳細な情報を返すことができます。

reCAPTCHAのキーパラメーター:
Website URLSite KeypageActionisInvisibleisEnterpriseisSRequiredisReCaptchaV3API Domain
これらのパラメーターが検出されると、CapsolverはCAPTCHAをサービスに送信するために必要なすべての詳細を含むJSONオブジェクトを返します。

複数のreCAPTCHAチャレンジを同時に解決する
Webスクレイピングプロジェクトに取り組んでいる場合、特に複数のCAPTCHAを同時に解決する必要がある場合、CAPTCHAの解決には時間がかかる可能性があります。Pythonを使用して複数のreCAPTCHAチャレンジを同時に解決する自動化方法を以下に示します。
例:複数のreCAPTCHA v2チャレンジを解決する
python
import capsolver
import threading
capsolver.api_key = "Your Capsolver API Key"
PAGE_URL = "PAGE_URL"
PAGE_KEY = "PAGE_SITE_KEY"
def solve_recaptcha_v2():
solution = capsolver.solve({
"type": "ReCaptchaV2TaskProxyless",
"websiteURL": PAGE_URL,
"websiteKey": PAGE_KEY,
})
return solution
def solve_recaptcha_task(result_list, index):
result = solve_recaptcha_v2()
result_list[index] = result
def solve_multiple_recaptchas(num_tasks):
threads = []
results = [None] * num_tasks
for i in range(num_tasks):
thread = threading.Thread(target=solve_recaptcha_task, args=(results, i))
threads.append(thread)
thread.start()
for thread in threads:
thread.join()
return results
def main():
num_tasks = 10 # 同時タスクの数
print(f"Solving {num_tasks} reCaptcha v2 tasks simultaneously")
solutions = solve_multiple_recaptchas(num_tasks)
for i, solution in enumerate(solutions):
print(f"Solution {i+1}: {solution}")
if __name__ == "__main__":
main()
複数のreCAPTCHA v3チャレンジを解決する
reCAPTCHA v3を解決するプロセスはv2と非常によく似ていますが、CAPTCHAの種類を適切に調整する必要があります。
python
```python
import capsolver
import threading
capsolver.api_key = "Your Capsolver API Key"
PAGE_URL = "PAGE_URL"
PAGE_KEY = "PAGE_SITE_KEY"
def solve_recaptcha_v3():
solution = capsolver.solve({
"type": "ReCaptchaV3TaskProxyless",
"websiteURL": PAGE_URL,
"websiteKey": PAGE_KEY,
})
return solution
def solve_recaptcha_task(result_list, index):
result = solve_recaptcha_v3()
result_list[index] = result
def solve_multiple_recaptchas(num_tasks):
threads = []
results = [None] * num_tasks
for i in range(num_tasks):
thread = threading.Thread(target=solve_recaptcha_task, args=(results, i))
threads.append(thread)
thread.start()
for thread in threads:
thread.join()
return results
def main():
num_tasks = 10 # 同時タスクの数
print(f"Solving {num_tasks} reCaptcha v3 tasks simultaneously")
solutions = solve_multiple_recaptchas(num_tasks)
for i, solution in enumerate(solutions):
print(f"Solution {i+1}: {solution}")
if __name__ == "__main__":
main()
複数のreCAPTCHA v3チャレンジを解決する
reCAPTCHA v3を解決するプロセスはv2と非常によく似ていますが、CAPTCHAの種類を適切に調整する必要があります。
python
```python
import capsolver
import threading
capsolver.api_key = "Your Capsolver API Key"
PAGE_URL = "PAGE_URL"
PAGE_KEY = "PAGE_SITE_KEY"
def solve_recaptcha_v3():
solution = capsolver.solve({
"type": "ReCaptchaV3TaskProxyless",
"websiteURL": PAGE_URL,
"websiteKey": PAGE_KEY,
})
return solution
def solve_recaptcha_task(result_list, index):
result = solve_recaptcha_v3()
result_list[index] = result
def solve_multiple_recaptchas(num_tasks):
threads = []
results = [None] * num_tasks
for i in range(num_tasks):
thread = threading.Thread(target=solve_recaptcha_task, args=(results, i))
threads.append(thread)
thread.start()
for thread in threads:
thread.join()
return results
def main():
num_tasks = 10 # 同時タスクの数
print(f"Solving {num_tasks} reCaptcha v3 tasks simultaneously")
solutions = solve_multiple_recaptchas(num_tasks)
for i, solution in enumerate(solutions):
print(f"Solution {i+1}: {solution}")
if __name__ == "__main__":
main()
reCAPTCHA v3チャレンジとreCAPTCHA v2チャレンジを解決する
python
import capsolver
# 環境変数を機密情報に使用することを検討してください
capsolver.api_key = "Your Capsolver API Key"
PAGE_URL_V2 = "PAGE_URL"
PAGE_KEY_V2 = "PAGE_SITE_KEY"
PAGE_URL_V3 = "PAGE_URL"
PAGE_KEY_V3 = "PAGE_SITE_KEY"
def solve_recaptcha_v2(url, key):
solution = capsolver.solve({
"type": "ReCaptchaV2TaskProxyless",
"websiteURL": url,
"websiteKey": key,
})
return solution
def solve_recaptcha_v3(url, key):
solution = capsolver.solve({
"type": "ReCaptchaV3TaskProxyless",
"websiteURL": url,
"websiteKey": key,
"minScore": 0.5 # 必要に応じて最小スコアを調整します
})
return solution
def main():
print("Solving reCaptcha v2")
solution_v2 = solve_recaptcha_v2(PAGE_URL_V2, PAGE_KEY_V2)
print("Solution (v2): ", solution_v2)
print("Solving reCaptcha v3")
solution_v3 = solve_recaptcha_v3(PAGE_URL_V3, PAGE_KEY_V3)
print("Solution (v3): ", solution_v3)
if __name__ == "__main__":
main()
ボーナスコード
トップCAPTCHAソリューションのボーナスコードを請求してください。CapSolver: scrape。これを引き換えると、チャージごとに5%のボーナスが追加されます。無制限

詳細については、このブログをご覧ください。
結論
複数のCAPTCHAチャレンジを処理することは、特にウェブサイトがセキュリティ対策を強化するにつれて、Webスクレイピングに取り組んでいる人にとって重要なスキルです。CapsolverなどのツールとPythonのスレッド機能を使用することで、CAPTCHAチャレンジを効率的に自動化し、プロジェクトのスムーズなスクレイピングプロセスを保証できます。
コンプライアンス免責事項: このブログで提供される情報は、情報提供のみを目的としています。CapSolverは、すべての適用される法律および規制の遵守に努めています。CapSolverネットワークの不法、詐欺、または悪用の目的での使用は厳格に禁止され、調査されます。私たちのキャプチャ解決ソリューションは、公共データのクローリング中にキャプチャの問題を解決する際に100%のコンプライアンスを確保しながら、ユーザーエクスペリエンスを向上させます。私たちは、サービスの責任ある使用を奨励します。詳細については、サービス利用規約およびプライバシーポリシーをご覧ください。
もっと見る

クラウドフレア エラー 1006、1007、1008 解決の方法 | 修正方法
Cloudflareのエラー1006、1007、または1008に苦しんでいますか?これらのアクセス拒否を解決し、ウェブクローリング体験を向上させる実用的な解決策を学びましょう。

Sora Fujimoto
05-Dec-2025

AI-LLM: リスクコントロールのための画像認識とCAPTCHA解決の未来のソリューション
LLMsがグラフィカルCAPTCHAの解決をどのように変革するかの詳細な探求:ゼロショット推論とCNNの精度を融合した現代のリスク管理へのアプローチ

Sora Fujimoto
05-Dec-2025

ScraplingとCapSolverを用いたウェブスクラッピング時のキャプチャの解き方
Scrapling + CapSolver は、ReCaptcha v2/v3 および Cloudflare Turnstile のバイパスを備えた自動スクリーピングを可能にします。

Sora Fujimoto
05-Dec-2025

SeleniumでのUser-Agentの変更 | ステップとベストプラクティス
SeleniumでUser Agentを変更することは、多くのウェブスクレイピングタスクにおいて重要なステップです。これは自動化スクリプトを通常のブラウザのように見せかけるために役立ちます...

Sora Fujimoto
05-Dec-2025

CapSolver拡張機能を使用してCloudflare Turnstileを解決する際に`action`が必要かどうかを確認する方法
クラウドフレア・ターニスティルの効果的なCAPTCHAの解決方法を学びます。Capsolverのツールとテクニックを使用するためのステップバイステップのガイドに従ってください。

Nikolai Smirnov
05-Dec-2025

9Proxyの力の発見: 包括的なレビュー
本記事では、9proxyとは何かおよび彼らが提供するサービスについてご紹介します。

Anh Tuan
04-Dec-2025

