Как решить капчу Cloudflare Turnstile с помощью Selenium
Как обойти капчу Turnstile Cloudflare с помощью Selenium
Nikolai Smirnov
Software Development Lead
11-Oct-2024
Ваш веб-скрейпер сталкивается с блокировкой запросов Cloudflare? Капчи Turnstile от Cloudflare предназначены для идентификации и блокировки автоматизированного трафика, создавая значительные препятствия для веб-скрейпинга и автоматизации. Однако, используя headless-браузер, такой как Selenium, вы можете эффективно преодолеть эти препятствия. Тем не менее, стандартные настройки Selenium могут по-прежнему вызывать сложные анти-ботовые защиты Cloudflare.
В этом блоге мы рассмотрим несколько эффективных методов преодоления капч Cloudflare Turnstile с использованием Selenium.
Понимание капч Cloudflare Turnstile
Капчи Cloudflare Turnstile - это продвинутые вызовы, предназначенные для различения человеческих пользователей и автоматизированных ботов. В отличие от традиционных капч, Turnstile использует различные поведенческие и основанные на взаимодействии оценки, такие как анализ движений мыши, шаблонов кликов и других показателей взаимодействия, чтобы определить легитимность пользователя.
Почему стоит выбрать Selenium?
Selenium - это мощный инструмент для автоматизации веб-браузеров, позволяющий имитировать действия пользователя, такие как клики, отправка форм и навигация. Однако, в силу своей автоматизированной природы, обычные настройки Selenium по-прежнему могут быть отмечены системами безопасности Cloudflare. Чтобы эффективно управлять капчами Turnstile, интеграция Selenium с дополнительными инструментами и методами может значительно повысить успех вашего веб-скрейпинга.
Эффективные методы решения капч Cloudflare Turnstile с помощью Selenium
1. Реализация CapSolver
Один из самых эффективных методов решения капч - использование сервиса решения капч, такого как CapSolver. Этот сервис использует продвинутые алгоритмы и человеческих решальщиков для быстрого и точного решения различных типов капч, включая Cloudflare Turnstile.
Бонусный код
Затрудняетесь с постоянными неудачами в решении раздражающей капчи?
Откройте для себя бесшовное автоматическое решение капч с помощью технологии Auto Web Unblock от Capsolver с поддержкой AI!
Получите бонусный код для лучших решений по работе с капчами; CapSolver: WEBS. После его активации вы получите дополнительный бонус в 5% после каждого пополнения баланса, без ограничений.
# pip install requests
import requests
import time
api_key = "YOUR_API_KEY" # ваш api ключ Capsolver
site_key = "0x4XXXXXXXXXXXXXXXXX" # site ключ вашего целевого сайта
site_url = "https://www.yourwebsite.com" # url страницы вашего целевого сайта
def capsolver():
payload = {
"clientKey": api_key,
"task": {
"type": 'AntiTurnstileTaskProxyLess',
"websiteKey": site_key,
"websiteURL": site_url,
"metadata": {
"action": "" # optional
}
}
}
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) # delay
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 на ваш фактический API-ключ CapSolver, site-ключ с целевого сайта и URL страницы, которую вы нацеливаете, соответственно. Этот скрипт создаст задачу для решения капчи Turnstile и вернет токен решения.
2. Использование Undetected ChromeDriver
Чтобы избежать обнаружения Cloudflare, важно использовать нераспознанную версию ChromeDriver. Анти-ботовые системы Cloudflare могут легко распознать стандартные экземпляры ChromeDriver, что приводит к вызовам капчи. Undetected ChromeDriver модифицирует отпечаток браузера и его поведение, чтобы минимизировать шансы обнаружения.
Настройте Selenium для использования этой модифицированной версии.
Пример кода:
pythonCopy
from undetected_chromedriver.v2 import Chrome, ChromeOptions
options = ChromeOptions()
options.add_argument('--headless') # Use headless mode if needed
driver = Chrome(options=options)
driver.get('https://example.com')
# Выполните необходимые действия и обработайте CAPTCHA
3. Использование SeleniumBase
SeleniumBase - это расширение для Selenium, которое повышает функциональность и простоту использования для веб-скрейпинга. Оно упрощает управление веб-взаимодействиями и более эффективно автоматизирует сложные задачи.
Шаги по реализации:
Установите SeleniumBase через pip:
bashCopy
pip install seleniumbase
Используйте функции SeleniumBase для управления веб-взаимодействиями и обработки капч.
Пример кода:
pythonCopy
from seleniumbase import BaseCase
class MyTestClass(BaseCase):
def test_example(self):
self.open('https://example.com')
# Выполните необходимые действия и обработайте CAPTCHA
4. Использование плагина Selenium Stealth
Плагин Selenium Stealth помогает маскировать ваши автоматизированные действия, затрудняя для Cloudflare обнаружение бота. Этот плагин модифицирует поведение браузера, чтобы имитировать реалистичные взаимодействия с пользователем.
Шаги по реализации:
Установите плагин Selenium Stealth:
bashCopy
pip install selenium-stealth
Интегрируйте плагин в вашу настройку Selenium.
Пример кода:
pythonCopy
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')
# Выполните необходимые действия и обработайте CAPTCHA
5. Использование премиальных прокси
Использование премиальных прокси может помочь вам избежать IP-запретов путем распределения вашего трафика по нескольким адресам. Высококачественные прокси значительно снижают риск обнаружения и блокировки Cloudflare.
Шаги по реализации:
Приобретите список премиальных прокси у надежного поставщика.
Настройте Selenium для использования этих прокси для веб-запросов.
Заключение
Успешное преодоление капч Cloudflare Turnstile требует сочетания продвинутых методов и инструментов. Интегрируя CapSolver с Selenium, используя нераспознанные версии ChromeDriver, задействуя SeleniumBase, используя плагины скрытности и премиальные прокси, вы можете повысить свои возможности веб-скрейпинга, гарантируя при этом соблюдение протоколов веб-безопасности. Всегда помните о соблюдении этических норм и используйте эти инструменты ответственно в своих веб-скрейпинговых начинаниях.
Дисклеймер о соблюдении: Информация, представленная в этом блоге, предназначена только для справочных целей. CapSolver обязуется соблюдать все применимые законы и нормы. Использование сети CapSolver для незаконной, мошеннической или злоупотребляющей деятельности строго запрещено и будет расследовано. Наши решения для распознавания капчи улучшают пользовательский опыт, обеспечивая 100% соблюдение при помощи в решении трудностей с капчей в процессе сбора общедоступных данных. Мы призываем к ответственному использованию наших услуг. Для получения дополнительной информации, пожалуйста, посетите наши Условия обслуживания и Политику конфиденциальности.