CAPSOLVER
Блог
Как обойти и решить CAPTCHA от Cloudflare с помощью Python и Selenium

Как обойти и решить CAPTCHA от Cloudflare с помощью Python и Selenium

Logo of CapSolver

Nikolai Smirnov

Software Development Lead

05-Jun-2024


Вы знали? Примерно 20% веб-сайтов, которые вам нужно скрапить, используют Cloudflare, растущую и мощную систему защиты от ботов, которая может легко помешать вашим усилиям. Если вы сталкиваетесь с неудачами при решении CAPTCHA от Cloudflare, вы не одиноки. В мире, где каждая секунда на счету, многие люди теряют драгоценное время из-за препятствий CAPTCHA. Но не волнуйтесь, в этой статье мы расскажем, как решить проблему CAPTCHA от Cloudflare в 2024 году. Мы объясним, что такое CAPTCHA от Cloudflare, почему она иногда не работает и предоставим эффективное решение для преодоления этих препятствий с помощью Python и Selenium. Готовы начать? Давайте начнем!

Содержание

  • Что такое CAPTCHA от Cloudflare
  • Как Cloudflare обнаруживает ботов?
  • Как обойти и решить CAPTCHA от Cloudflare
  • Заключение

Что такое CAPTCHA от Cloudflare

Cloudflare предоставляет сетевые инструменты и предлагает комплексный набор функций безопасности для защиты веб-сайтов от различных онлайн-угроз. CAPTCHA от Cloudflare используется для различия между человеческими пользователями и автоматическими ботами. Это важный компонент службы безопасности Cloudflare, предназначенный для защиты веб-сайтов от автоматических атак и злоупотреблений.

Уникальные особенности CAPTCHA от Cloudflare

Интегрированное решение безопасности: CAPTCHA от Cloudflare часто предлагается как часть общей системы безопасности, включая защиту от DDoS-атак, веб-аппликационные фаерволы (WAF), сети доставки контента (CDN) и многое другое. Это позволяет веб-сайтам получать комплексную защиту от одного поставщика.

Интеллектуальное управление трафиком:

Cloudflare использует свою глобальную сеть и технологию интеллектуального управления трафиком для более эффективной защиты веб-сайтов, динамически активируя CAPTCHA при обнаружении необычного трафика или потенциальных угроз.

Безупречный пользовательский опыт

Cloudflare стремится предоставлять безупречный пользовательский опыт, снижая неудобства для законных пользователей. Например, их CAPTCHA "Turnstile" разработана для аутентификации человеческих посетителей с минимальным взаимодействием.

Конфиденциальность

С акцентом на конфиденциальность, Cloudflare стремится уменьшить зависимость от данных пользователей и сбор данных, предоставляя более конфиденциальные методы аутентификации.

Боретесь с повторяющимися неудачами в решении раздражающей CAPTCHA?

Откройте для себя бесшовное автоматическое решение CAPTCHA с помощью Capsolver технологии автоматической разблокировки веб-страниц, основанной на ИИ!

Получите свой Бонусный код для лучших решений CAPTCHA; CapSolver: WEBS. После его активации вы получите дополнительный бонус в размере 5% после каждой пополнения, неограниченно

Как Cloudflare обнаруживает ботов?

  1. Обнаружение Chromedriver
  • Определение, управляется ли браузер автоматическими инструментами.
  • Автоматические инструменты, такие как Chromedriver, могут быть обнаружены путем проверки специфического поведения и свойств браузера, характерных для автоматических скриптов. Например, некоторые переменные JavaScript или атрибуты браузера могут выявить наличие автоматических инструментов. Кроме того, мониторинг времени и паттернов взаимодействий может помочь выявить нечеловеческое поведение.
  1. Снятие отпечатков устройства
  • Если один и тот же отпечаток браузера используется для большого количества посещений, это можно идентифицировать как машинное поведение. Необходимо использовать различные эффективные отпечатки браузера для распределения посещений.
  • Снятие отпечатков устройства включает сбор различных атрибутов устройства пользователя, таких как разрешение экрана, установленные шрифты, плагины браузера и многое другое. Комбинируя эти атрибуты, можно создать уникальный идентификатор (отпечаток) для каждого устройства. Повторное использование одного и того же отпечатка в нескольких сеансах может указывать на автоматическую активность. Чтобы смягчить это, необходимо рандомизировать и варьировать данные отпечатков, чтобы они выглядели более человечными.
  1. Обнаружение IP-прокси
  • Блокировка злонамеренных IP-адресов и ограничение частоты запросов.
  • Обнаружение IP-прокси включает идентификацию и блокировку IP-адресов, известных своей связью с злонамеренной активностью или частыми запросами. Техники включают ведение черного списка известных плохих IP-адресов, использование геолокационных данных для блокировки подозрительных регионов и внедрение ограничения скорости для предотвращения чрезмерных запросов с одного IP-адреса. Кроме того, анализ паттернов поведения IP-адресов может помочь отличить законных пользователей от автоматических ботов.
  1. Аутентичность браузера
  • Проверка, являются ли атрибуты браузера и информация о запросах аномальными, например, выдан ли User-Agent в заголовке Python-кодом, и имеет ли заявленный User-Agent браузер соответствующие атрибуты.
  1. JavaScript Challenge
  • Отправка JavaScript-кода пользователю. Обычно краулеры не могут напрямую рендерить JS. Существуют соответствующие методы обнаружения для симуляции выполнения скриптов другими способами. Во время выполнения кода собирается серия информации об устройстве, такая как canvas, navigator, плагины, версия Chrome и серия информации о физических аппаратных устройствах. Эта информация об устройстве шифруется и оценивается Cloudflare на подлинность.
  1. Cookie
  • Проверка срока действия cf_clearance, постоянное обновление и отслеживание, является ли поведение пользователя аномальным.
  1. Снятие отпечатков TLS
  • Браузеры обычно используют HTTP/2, но запросы, сделанные языками программирования, в основном по умолчанию используют HTTP/1.1. Кроме того, информация JA3 запросов браузера отличается от информации языков программирования.
  • Снятие отпечатков TLS - это техника, используемая для идентификации и проверки TLS (Transport Layer Security) коммуникаций.
  • Отпечатки TLS могут определить характеристики TLS-коммуникации, проверяя наборы шифров, версии протоколов и алгоритмы шифрования, используемые во время рукопожатия TLS. Поскольку каждая реализация TLS использует разные наборы шифров, версии протоколов и алгоритмы шифрования, сравнение отпечатков TLS может определить, исходит ли коммуникация от ожидаемого источника или цели.
  • Снятие отпечатков TLS можно использовать для обнаружения угроз безопасности, таких как сетевые подделки, атаки посредника и шпионская деятельность, а также для идентификации и управления устройствами и приложениями.

Как обойти и решить CAPTCHA от Cloudflare

1. CapSolver

Существует множество способов решения CAPTCHA в Cloudflare, но самый популярный и эффективный способ решения CAPTCHA - использовать стороннюю службу решения, такую как CapSolver. Вот основные шаги:

CapSolver может помочь решить различные механизмы обнаружения, предоставляя действительные cookies и данные сеанса. Как только эти учетные данные будут получены, вы можете отправить запрос нормально с токеном. Вам нужно использовать библиотеку TLS для отправки действительных запросов. Этот подход гарантирует, что запросы будут выглядеть аутентичными и менее вероятно будут заблокированы или помечены как подозрительные.
Кроме того, использование CapSolver может помочь вам решить следующие проблемы:

  • Обнаружение IP: Используйте высококачественные прокси для обхода блокировки IP и ограничений.
  • JavaScript-задачи: Выполняйте код JavaScript так же, как настоящий браузер, чтобы убедиться, что задачи решаются правильно.
  • Человеческое взаимодействие: Выполняйте соответствующие действия в ответ на задачи, имитируя поведение человека.
  • Снятие отпечатков устройства: Используйте чистую и действительную информацию о браузере каждый раз, чтобы пройти проверки на подлинность.

Ниже приведен пример кода для получения решения Cloudflare Turnstile с помощью Python:

# pip install requests
import requests
import time

api_key = "YOUR_API_KEY"  # TODO: ваш API-ключ от CapSolver
site_key = "0x4XXXXXXXXXXXXXXXXX"  # TODO: ключ сайта вашей целевой страницы
site_url = "https://www.yourwebsite.com"  # TODO: 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("Не удалось создать задачу:", res.text)
        return
    print(f"Получен taskId: {task_id} / Получение результата...")

    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" или resp.get("errorId"):
            print("Решение не удалось! Ответ:", res.text)
            return

token = capsolver()
print(token)

2. Puppeteer, Selenium, Playwright

  • Используйте инструменты автоматизации браузера для доступа к веб-сайту и получения данных, что может избежать сложных проверок JavaScript; однако эти инструменты могут быть обнаружены как управляемые ботами.
  • Инструменты автоматизации браузера, такие как Puppeteer, Selenium и Playwright, могут имитировать реальные взаимодействия пользователей с веб-сайтами, включая обработку задач JavaScript и рендеринг динамического контента. Хотя они могут решить некоторые механизмы обнаружения, они часто оставляют следы, которые могут быть идентифицированы системами защиты от ботов. Техники, такие как рандомизация движений мыши, нажатий клавиш и других взаимодействий, могут помочь снизить риски обнаружения.

3. Undetected Chromedriver

  • Может решить некоторые механизмы контроля ботов.
  • undetected_chromedriver — это модифицированная версия Chromedriver, включающая патчи для избежания обнаружения механизмами защиты от ботов. Он может обрабатывать различные формы снятия отпечатков браузера и другие методы обнаружения, имитируя поведение человека и изменяя атрибуты браузера. Этот инструмент особенно полезен для веб-скрапинга и автоматизированного тестирования, где стандартный Chromedriver будет заблокирован.

4. Использование Python curl_cffi для решения проблемы обнаружения TLS

  • После получения действительного cookie используйте его в сочетании с другими методами для повторного доступа к сайту. Важно обеспечить эффективное маскирование соединений запросов TLS; в противном случае доступ к данным все равно будет ограничен.

Заключение

Следуя этим шагам, вы можете решить CAPTCHA от Cloudflare с помощью Python и Selenium, а также службы CapSolver. Этот метод гарантирует, что ваши автоматизированные скрипты могут продолжать работать без ручного вмешательства. Однако всегда используйте такие техники этично и соблюдайте условия обслуживания веб-сайтов, с которыми вы взаимодействуете.

Дисклеймер о соблюдении: Информация, представленная в этом блоге, предназначена только для справочных целей. CapSolver обязуется соблюдать все применимые законы и нормы. Использование сети CapSolver для незаконной, мошеннической или злоупотребляющей деятельности строго запрещено и будет расследовано. Наши решения для распознавания капчи улучшают пользовательский опыт, обеспечивая 100% соблюдение при помощи в решении трудностей с капчей в процессе сбора общедоступных данных. Мы призываем к ответственному использованию наших услуг. Для получения дополнительной информации, пожалуйста, посетите наши Условия обслуживания и Политику конфиденциальности.

Ещеe

Как решить капчи Cloudflare Turnstile с помощью Selenium
Как обойти капчу Turnstile Cloudflare с помощью Selenium

В этом блоге мы рассмотрим несколько эффективных способов обхода Captcha Turnstile от Cloudflare с помощью Selenium.

Cloudflare
Logo of CapSolver

Nikolai Smirnov

11-Oct-2024

Руководство по решению капчи Cloudflare Turnstile в Java для веб-автоматизации
Руководство по решению капчи Cloudflare Turnstile в Java для веб-автоматизации

Узнайте, как автоматизировать взаимодействие с веб-сайтами на Java и обойти CAPTCHA Cloudflare Turnstile с помощью практических инструментов и методов программирования.

Cloudflare
Logo of CapSolver

Nikolai Smirnov

08-Oct-2024

Как автоматизировать решение Cloudflare Turnstile для веб-краулинга
Как автоматизировать решение Cloudflare Turnstile для веб-сканирования

Мы рассмотрим стратегии работы с Cloudflare Turnstile CAPTCHA при веб-скрапинге и обсудим методы автоматизации его решения с использованием Puppeteer и CapSolver на Python.

Cloudflare
Logo of CapSolver

Nikolai Smirnov

27-Sep-2024

Как использовать C# для решения задач с CAPTCHA от Cloudflare Turnstile
Как использовать C# для решения задач CAPTCHA от Cloudflare Turnstile

Вы узнаете, как легко решить CAPTCHA-задачу Cloudflare Turnstile с помощью C#, и хотите узнать подробности? Поехали!

Cloudflare
Logo of CapSolver

Nikolai Smirnov

17-Sep-2024

Как решить Cloudflare | Использование Puppeteer и Node.js
Как решить Cloudflare | Использование Puppeteer и Node.js

Мы рассмотрим, как эффективно обойти защиту Cloudflare, такую как Turnstile, с использованием Puppeteer и Node.js при помощи капча-решателя.

Cloudflare
Logo of CapSolver

Nikolai Smirnov

22-Aug-2024

Как решить Turnstile Captcha: Инструменты и техники в 2024 году
Как решить Turnstile Captcha: Инструменты и техники в 2024 году

Предоставляем вам практические советы и способы раскрыть секреты эффективного решения Turnstile CAPTCHAs.

Cloudflare
Logo of CapSolver

Nikolai Smirnov

30-Jul-2024