
Ethan Collins
Pattern Recognition Specialist

您的网页爬虫是否因 Cloudflare 阻止请求而苦苦挣扎? Cloudflare 的 Turnstile 验证码旨在识别和阻止自动化流量,这为网页爬取和自动化带来了巨大的挑战。 但是,通过利用 Selenium 之类的无头浏览器,您可以有效地克服这些障碍。 也就是说,标准 Selenium 设置仍然可能会触发 Cloudflare 的复杂反机器人防御机制。
在本博客中,我们将讨论几种使用 Selenium 克服 Cloudflare Turnstile 验证码的有效技术。
Cloudflare Turnstile 验证码是旨在区分人类用户和自动化机器人的高级挑战。 与传统的 CAPTCHA 不同,Turnstile 利用各种基于行为和交互的评估,例如分析鼠标移动、点击模式和其他交互指标,以确定用户的合法性。
Selenium 是一个强大的网页浏览器自动化工具,它允许您模拟用户操作,例如点击、表单提交和导航。 但是,由于其自动化的性质,传统的 Selenium 设置仍然可能被 Cloudflare 的安全系统标记。 为了有效地管理 Turnstile 验证码,将 Selenium 与其他工具和技术集成可以显着提高您的网页爬取成功率。
解决 CAPTCHA 的最有效方法之一是利用像 CapSolver 这样的 CAPTCHA 解决服务。 该服务利用先进的算法和人工解算器来快速准确地解决各种 CAPTCHA 类型,包括 Cloudflare Turnstile。
难以完全解决令人讨厌的验证码的重复失败?
使用 Capsolver 人工智能驱动的自动网页解锁技术发现无缝自动验证码解决!
领取您的奖励代码,以获取顶级的验证码解决方案;CapSolver: WEBS。 兑换后,每次充值后您将获得额外的 5% 奖励,无限次
# pip install requests
import requests
import time
api_key = "YOUR_API_KEY" # 您的 capsolver api 密钥
site_key = "0x4XXXXXXXXXXXXXXXXX" # 您目标网站的站点密钥
site_url = "https://www.yourwebsite.com" # 您目标网站的页面网址
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) # 延迟
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 分别替换为您的实际 CapSolver API 密钥、目标网站的站点密钥以及您要定位的页面的 URL。 此脚本将创建一个任务来解决 Turnstile 验证码并返回解决方案令牌。
为了避免被 Cloudflare 检测到,使用 ChromeDriver 的未检测版本至关重要。 Cloudflare 的反机器人系统可以轻松识别标准 ChromeDriver 实例,从而导致 CAPTCHA 挑战。 未检测到的 ChromeDriver 会修改浏览器的指纹和行为,以最大限度地减少检测机会。
from undetected_chromedriver.v2 import Chrome, ChromeOptions
options = ChromeOptions()
options.add_argument('--headless') # 如果需要,使用无头模式
driver = Chrome(options=options)
driver.get('https://example.com')
# 执行必要的操作并处理 CAPTCHA
SeleniumBase 是 Selenium 的一个扩展,它增强了网页爬取的功能和易用性。 它简化了网页交互的管理并更有效地自动化复杂的任务。
通过 pip 安装 SeleniumBase:
pip install seleniumbase
使用 SeleniumBase 的功能来管理网页交互并处理 CAPTCHA。
from seleniumbase import BaseCase
class MyTestClass(BaseCase):
def test_example(self):
self.open('https://example.com')
# 执行必要的操作并处理 CAPTCHA
Selenium Stealth 插件有助于掩盖您的自动化工作,使 Cloudflare 更难检测到机器人使用情况。 此插件会修改浏览器行为以模拟真实的用
学习修复Cloudflare错误1005访问被拒绝的网络爬虫问题。发现解决方案如住宅代理、浏览器指纹识别和CapSolver验证码解决方法。优化您的数据提取。

了解如何通过使用Playwright隐身技术以及CapSolver实现可靠的验证码解决,从而有效处理AI工作流中的Cloudflare Turnstile。学习实用的集成策略和最佳实践,以实现无缝自动化。
