
Lucas Mitchell
Automation Engineer

ウェブスクレイピングを試みたことがあるなら、自動化されたリクエストをブロックする「あなたが人間であることを証明してください」という迷惑なCAPTCHAテストに遭遇したことがあるでしょう。このガイドでは、CAPTCHAの中断を最小限に抑えるための実践的な戦略を共有し、CAPTCHAが表示されたときの対処方法を示します。始めましょう!
CAPTCHAはボットをブロックするように設計されているため、スクレイパーは次の場合にフラグが立てられる可能性があります。
プロのヒント: まず、人間の行動を模倣します。リクエストを遅くし、ユーザーエージェントをローテーションし、プロキシを使用します。しかし、それでもCAPTCHAが表示される場合は、より堅牢なソリューションが必要です。
回避策が不十分な場合は、Capsolverなどのサービスを使用してCAPTCHAの解決を自動化できます。その仕組みを説明します。
# pip install requests
import requests
import time
api_key = "YOUR_API_KEY" # Capsolverキーに置き換えます
site_key = "" # ターゲットサイトから取得
site_url = "" # ターゲットURL
def solve_captcha():
payload = {
"clientKey": api_key,
"task": {
"type": "ReCaptchaV2TaskProxyLess",
"websiteKey": site_key,
"websiteURL": site_url
}
}
response = requests.post("https://api.capsolver.com/createTask", json=payload)
task_id = response.json().get("taskId")
# 結果を取得
while True:
time.sleep(3)
result = requests.post("https://api.capsolver.com/getTaskResult", json={"clientKey": api_key, "taskId": task_id})
status = result.json().get("status")
if status == "ready":
return result.json()["solution"]["gRecaptchaResponse"]
elif status == "failed":
print("CAPTCHAの解決に失敗しました")
return None
captcha_token = solve_captcha()
print(f"解決されたCAPTCHAトークン:{captcha_token}")
仕組み:
ウェブスクレイピング中にCAPTCHAを完全に解決できないことが繰り返し発生して苦労していませんか?
最高のCAPTCHAソリューションのためのあなたのボーナスコードを請求してください - CapSolver: CAPTCHA。それを引き換えると、各チャージ後に追加で5%のボーナスが得られ、無制限になります。
すべてのサイトがCAPTCHAを使用しているわけではありません。CAPTCHAを使用していないサンドボックスであるbooks.toscrape.comをスクレイピングしてみましょう。
import requests
from bs4 import BeautifulSoup
url = "http://books.toscrape.com/"
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")
# 書籍のタイトルと価格を抽出
for book in soup.select("article.product_pod"):
title = book.h3.a["title"]
price = book.select(".price_color")[0].get_text()
print(f"タイトル:{title}、価格:{price}")
仕組み:
このサイトにはボット対策がありませんが、スクレイピングする前に常にウェブサイトのrobots.txtを確認してください。
CAPTCHAを解決する前に、その種類(例:reCAPTCHA v2、hCaptcha)を知る必要があります。CapsolverのCAPTCHA識別ガイドなどのツールを使用して、次のことを行います。
sitekeyやpageurlなどの必要なパラメーターを見つけます。reCAPTCHA v2のパラメーターの例:
websiteKey:"6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"websiteURL:ターゲットページのURL。time.sleep()を使用して、リクエスト間の遅延を追加します。User-AgentとAccept-Languageを模倣します。AIと人間の作業者の組み合わせを使用してCAPTCHAを解決し、自動化のためのトークンを返します。
一般的なタイプ(reCAPTCHA、hCaptcha)のほとんどは解決できますが、高度なタイプはより高度な方法が必要です。
CAPTCHAは障害ですが、行き止まりではありません。Capsolverなどのツールとスマートなスクレイピング方法を組み合わせることで、中断を最小限に抑えましょう。スクレイピングを楽しんでください!🚀
CapSolverとn8nを使用してeCAPTCHA v2/v3ソルバーAPIを構築します。トークンの自動取得、ウェブサイトへの送信、保護されたデータの抽出をノーコードで自動化する方法を学びます。

画像パズルを解く最高のAIを発見してください。CapSolverのVision EngineとImageToText APIが、高い精度で複雑な視覚的課題を自動化する方法を学びましょう。
