Cloudflare Turnstile — это интеллектуальная альтернатива CAPTCHA, предназначенная для проверки пользователей без навязчивых задач. В отличие от традиционных CAPTCHA, требующих выбора изображений или ввода текста, Turnstile выполняет невидимые проверки в браузере, чтобы определить, является ли посетитель человеком. Он широко используется на сайтах с сервисами Cloudflare и может стать серьёзным препятствием для веб-скрейпинга и автоматизации.
Перед началом убедитесь, что у вас установлен Python 3.7 или выше. Вам также понадобится API-ключ NextCaptcha — зарегистрируйтесь на NextCaptcha для получения бесплатных пробных кредитов. Затем установите NextCaptcha Python SDK:
Сначала создайте экземпляр NextCaptchaAPI с вашим API-ключом. Ваш клиентский ключ можно найти в панели управления NextCaptcha:
from nextcaptcha import NextCaptchaAPIapi = NextCaptchaAPI(client_key="YOUR_CLIENT_KEY")
Затем вызовите метод turnstile, указав URL целевого сайта и ключ сайта Turnstile. Ключ находится в атрибуте data-sitekey виджета Turnstile на целевой странице:
Если вы не хотите использовать SDK, можно вызывать API NextCaptcha напрямую через библиотеку requests. Этот подход даёт полный контроль над HTTP-запросами:
Этот подход требует двух вызовов API: createTask для отправки задачи Turnstile и getTaskResult для опроса результата. Рекомендуется интервал опроса 3 секунды, чтобы избежать ограничения частоты запросов.
В этом руководстве мы рассмотрели два способа обхода Cloudflare Turnstile с помощью Python: через SDK NextCaptcha для простого подхода и через прямой API для полного контроля. NextCaptcha автоматически решает задачу Turnstile и возвращает валидный токен. Подробнее см. по ссылкам ниже: