Selenium で Cloudflare Turnstile キャプチャを盾Qする圭隈

Sora Fujimoto
AI Solutions Architect
11-Oct-2024

あなたのウェブスクレイパ`は、CloudflareによってリクエストがブロックされているのでしょうかCloudflareのTurnstile CAPTCHAは、徭啝されたトラフィックを蒙協して形げるためにOされており、ウェブスクレイピングと徭啝に寄きな嬾墾となっています。しかし、Seleniumのようなヘッドレスブラウザを試喘することで、これらの嬾墾を森議に指閲できます。とはいえ、糞弔Seleniumのセットアップでは、Cloudflareの牢された郡ボット契Rが卆隼としてトリガ`される辛嬬來があります。
このブログでは、Seleniumを聞喘してCloudflare Turnstile CAPTCHAを針捲するためのいくつかの森議なテクニックについてh苧します。
Cloudflare Turnstile CAPTCHAの尖盾
Cloudflare Turnstile CAPTCHAは、繁gのユ`ザ`と徭啝されたボットを曝eすることを朕議とした互業なチャレンジです。愔瓦CAPTCHAとはなり、Turnstileは、マウスの咾、クリックパタ`ン、その麿のインタラクション峺砲覆匹痢△気泙兇泙嘛とインタラクションに児づくuを聞喘して、ユ`ザ`の屎輝來を登僅します。
なぜSeleniumをxぶのか
Seleniumは、ウェブブラウザを徭啝する薦なツ`ルであり、クリック、フォ`ム僕佚、ナビゲ`ションなどのユ`ザ`荷恬をシミュレ`トできます。ただし、徭啝された來|のため、愔瓦Seleniumのセットアップは、Cloudflareのセキュリティシステムによって卆隼としてフラグが羨てられる辛嬬來があります。Turnstile CAPTCHAを森議に砿尖するには、Seleniumにその麿のツ`ルとテクニックをy栽することで、ウェブスクレイピングの撹孔楕を寄嫌に鯢呂気擦襪海箸できます。
SeleniumでCloudflare Turnstile CAPTCHAを盾Qするための森議なテクニック
1. CapSolverのg廾
CAPTCHAを盾Qするための恷も紳糞弔雰酬┐1つは、CapSolverのようなCAPTCHA盾Qサ`ビスを旋喘することです。このサ`ビスは、互業なアルゴリズムと繁gのソルバ`を試喘して、Cloudflare Turnstileを根むさまざまなCAPTCHAタイプを儻堀かつ屎_に盾Qします。
ボ`ナスコ`ド
愚初なCAPTCHAを頼畠に盾Qできないために、採業も払,靴討い泙垢
CapsolverのAI喜dの徭咼ΕД屮▲鵐屮蹈奪テクノロジ`で、シ`ムレスな徭CAPTCHA盾QをwYしましょう
恷互のCAPTCHAソリュ`ションのためのボ`ナスコ`ドを函誼しましょうCapSolver: WEBS。これを哈きQえると、チャ`ジごとに5%のボ`ナスが弖紗され、o崙泙砲覆蠅泙后
gb返:
- CapSolverアカウントに鞠hします。
- SeleniumスクリプトにCapSolverのAPIをy栽します。
コ`ド箭:
python
# pip install requests
import requests
import time
api_key = "YOUR_API_KEY" # あなたのCapsolverのAPIキ`
site_key = "0x4XXXXXXXXXXXXXXXXX" # タ`ゲットサイトのサイトキ`
site_url = "https://www.yourwebsite.com" # タ`ゲットサイトのペ`ジURL
def capsolver():
payload = {
"clientKey": api_key,
"task": {
"type": 'AntiTurnstileTaskProxyLess',
"websiteKey": site_key,
"websiteURL": site_url,
"metadata": {
"action": "" # オプション
}
}
}
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) # W决
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('token')
if status == "failed" or resp.get("errorId"):
print("Solve failed! response:", res.text)
return
token = capsolver()
print(token)
このコ`ドでは、YOUR_API_KEY、0x4XXXXXXXXXXXXXXXXX、https://www.yourwebsite.comを、gHのCapSolverのAPIキ`、タ`ゲットサイトのサイトキ`、タ`ゲットとするペ`ジのURLにそれぞれ崔きQえてください。このスクリプトは、Turnstile CAPTCHAを盾Qするためのタスクを恬撹し、ソリュ`ショント`クンを卦します。
2. 返されないChromeDriverの聞喘
Cloudflareによる返を閲けるために、ChromeDriverの返されないバ`ジョンを聞喘することが嶷勣です。Cloudflareの郡ボットシステムは、糞弔ChromeDriverインスタンスをgにJRし、CAPTCHAのチャレンジを哈き軟こす辛嬬來があります。返されないChromeDriverは、ブラウザのフィンガ`プリントと嘛を筝することで、返される辛嬬來を恷弌泙牧屬┐泙后
gb返:
- undetected-chromedriverなどの返されないChromeDriverパッケ`ジをダウンロ`ドします。
- Seleniumが、この俐屎されたバ`ジョンを聞喘するように撹します。
コ`ド箭:
python
from undetected_chromedriver.v2 import Chrome, ChromeOptions
options = ChromeOptions()
options.add_argument('--headless') # 駅勣に鬉犬謄悒奪疋譽好皎`ドを聞喘
driver = Chrome(options=options)
driver.get('https://example.com')
# 駅勣な荷恬をg佩し、CAPTCHAをI尖します
3. SeleniumBaseの試喘
SeleniumBaseは、SeleniumのC嬬であり、ウェブスクレイピングのC嬬と聞いやすさを鯢呂気擦泙后ウェブインタラクションの砿尖を殆晒し、}jなタスクをより森議に徭啝します。
gb返:
-
pipを聞喘してSeleniumBaseをインスト`ルします。
bashpip install seleniumbase
-
SeleniumBaseのC嬬を聞喘して、ウェブインタラクションを砿尖し、CAPTCHAをI尖します。
コ`ド箭:
python
from seleniumbase import BaseCase
class MyTestClass(BaseCase):
def test_example(self):
self.open('https://example.com')
# 駅勣な荷恬をg佩し、CAPTCHAをI尖します
4. Selenium Stealthプラグインの旋喘
Selenium Stealthプラグインは、徭啝の函りMみをLすのに叨羨ち、Cloudflareがボットの聞喘を返することをより是yにします。このプラグインは、ブラウザの嘛を筝して、Fg議なユ`ザ`インタラクションをシミュレ`トします。
gb返:
-
Selenium Stealthプラグインをインスト`ルします。
bashpip install selenium-stealth
-
Seleniumのセットアップにプラグインをy栽します。
コ`ド箭:
python
from selenium import webdriver
from selenium_stealth import stealth
driver = webdriver.Chrome()
stealth(driver,
languages=["en-US", "en"],
vendor="Google Inc.",
platform="Windows",
webgl_vendor="Google Inc.",
render="WebKit",
fix_hairline=True
)
driver.get('https://example.com')
# 駅勣な荷恬をg佩し、CAPTCHAをI尖します
5. プレミアムプロキシの旋喘
プレミアムプロキシを聞喘すると、トラフィックを}気離▲疋譽垢坊嵒△気擦襪海箸如IP鋤峭を指閲できます。互瞳|のプロキシは、Cloudflareによる返とブロックのリスクを寄嫌にXpします。
gb返:
- 佚mできるプロバイダ`からプレミアムプロキシのリストを秘返します。
- Seleniumが、これらのプロキシをウェブリクエストに聞喘するように撹します。
まとめ
Cloudflare Turnstile CAPTCHAを森議に指閲するには、互業なテクニックとツ`ルのMみ栽わせが駅勣です。CapSolverをSeleniumにy栽し、返されないChromeDriverバ`ジョンを聞喘し、SeleniumBaseを試喘し、ステルスプラグインを駻辰掘▲廛譽潺▲爛廛蹈シを聞喘することで、ウェブスクレイピングの嬬薦を互め、ウェブセキュリティプロトコルにすることができます。械に尖議な児覆惄ぁ△海譴蕕離挑`ルをウェブスクレイピングの函りMみで販を隔って聞喘してください。
コンプライアンス窒並 このブログで戻工される秤鵑蓮秤麑畊のみを朕議としています。CapSolverは、すべてのm喘される隈舵およびヨ討臨駟悗謀めています。CapSolverネットワ`クの音隈、p遁、または喘の朕議での聞喘は鯉に鋤峭され、{砲気譴泙后K修燭舛離ャプチャ盾Qソリュ`ションは、巷慌デ`タのクロ`リング嶄にキャプチャの}を盾QするHに100%のコンプライアンスを_隠しながら、ユ`ザ`エクスペリエンスを鯢呂気擦泙后K修燭舛蓮▲稀`ビスの販ある聞喘をX遒靴泙后Tについては、サ`ビス旋喘シsおよびプライバシ`ポリシ`をごEください。
もっとる

Cloudflareチャレンジの盾Q圭隈
CapSolverでCloudflareのn}をgに針捲しましょう。このガイドでは、Cloudflareのセキュリティを盾Qするための駅並をW_し、な返とヒントを耶えて、撹孔したナビゲ`ションを隠^します。

Sora Fujimoto
23-Sep-2025

Webスクレイピングと徭啝のためのCloudflare JSチャレンジの盾Q圭隈
CloudflareのJavaScriptチャレンジを盾Qし、シ`ムレスなウェブスクレイピングと徭啝をgFする圭隈をWびましょう。ヘッドレスブラウザ、プロキシロ`テ`ション、そしてCapSolverの枠M議なCAPTCHA盾QC嬬の試喘など、森議な藺圓魄kしてください。

Sora Fujimoto
05-Mar-2025

Cloudflare TLSフィンガ`プリンティング左賭と盾Q貨
CloudflareのTLSフィンガ`プリンティングによるセキュリティへの試喘、ボットの奮とブロック圭隈、ならびにWebスクレイピングや徭咼屮薀Ε献鵐哀織好における盾Q貨をWびましょう。

Sora Fujimoto
28-Feb-2025

Cloudflare隠oウェブサイトからのデ`タ渇竃圭隈
このガイドでは、Cloudflareで隠oされたウェブサイトからデ`タを渇竃するための尖議で森議な返隈を冥ります。

Sora Fujimoto
20-Feb-2025

2025定にPythonとGoを聞ってCloudflareを盾Qする圭隈
Cloudflare Turnstile についての挟賀を慌嗤し、Python と Go を聞喘してこれらのタスクをg佩します。Turnstile が Python スクラッパ`を奮できるかどうか、そして CapSolver などのソリュ`ションを聞喘してそれを森議にバイパスする圭隈についてh苧します。

Sora Fujimoto
05-Nov-2024

Selenium で Cloudflare Turnstile キャプチャを盾Qする圭隈
云ブログでは、Selenium を聞喘して Cloudflare Turnstile Captcha を針捲するための森議な返隈をいくつかB初します。

Sora Fujimoto
11-Oct-2024