Как обойти Cloudflare в 2025 году: Лучшие методы

Откройте для себя проверенные методы и инструменты для обхода защиты от ботов Cloudflare в 2025 году с помощью понятных руководств, примеров кода и советов по автоматизации.
5 мин. чтения
How to Bypass Cloudflare blog image

В этом уроке вы узнаете следующее:

  • Что такое Cloudflare.
  • Более глубокий взгляд на механизм WAF.
  • Как работает система защиты от ботов с технической точки зрения.
  • Что происходит, когда вы нацеливаетесь на сайт, защищенный Cloudflare, с помощью стандартных средств автоматизации.
  • Высокоуровневые подходы к обходу Cloudflare.
  • Как обойти человеческую проверку Cloudflare в Python.
  • Как обойти Cloudflare в масштабе.

Давайте погрузимся!

Что такое Cloudflare?

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

По своей сути Cloudflare функционирует как CDN(сеть доставки контента), кэшируя содержимое сайтов в глобальной сети для улучшения времени загрузки и снижения задержек. Кроме того, она предоставляет такие функции, как защита от DDoS(Distributed Denial-of-Service), WAF (Web Application Firewall), управление ботами, услуги DNS и многое другое.

Благодаря интеграции с сетью Cloudflare сайты могут быстро получить повышенную безопасность и оптимизированную производительность. Благодаря этому Cloudflare стал популярным решением для миллионов сайтов по всему миру.

Понимание механизмов защиты от ботов в Cloudflare

Одной из причин популярности Cloudflare является наличие WAF(Web Application Firewall). Он может быть включен на любой веб-странице, обслуживаемой через глобальную сеть компании. Более того, он представляет собой одно из самых эффективных решений против скреперов, нежелательных краулеров и ботов в целом.

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

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

  • Отпечатки пальцев TLS: Проверяет, как выполняется рукопожатие TLS клиентом HTTP или браузером. Он рассматривает такие детали, как предлагаемые наборы шифров, порядок переговоров и другие низкоуровневые характеристики. Боты и нестандартные клиенты часто имеют необычные, не похожие на браузерные, подписи TLS, которые выдают их.
  • Детали HTTP-запроса: Изучение HTTP-заголовков, файлов cookie, строк пользовательского агента и других аспектов. Боты часто используют стандартные или подозрительные конфигурации, которые отличаются от тех, что используются в настоящих браузерах.
  • Отпечатки JavaScript: Запускает JavaScript в браузере клиента для сбора подробной информации о среде. Сюда входят точная версия браузера, операционная система, установленные шрифты или расширения и даже тонкие характеристики оборудования. Эти данные формируют отпечаток пальца, который помогает отличить реальных пользователей от автоматических скриптов.
  • Поведенческий анализ: Одним из самых сильных признаков автоматизированного трафика является неестественное поведение. Cloudflare отслеживает такие закономерности, как быстрые запросы, отсутствие движений мышью, одинаковые траектории кликов, время простоя и многое другое. С помощью машинного обучения он определяет, соответствует ли поведение пользователя человеческому или ботскому. Это одна из самых сложных технологий защиты от ботов.

Cloudflare обычно предоставляет два способа проверки человеком:

  1. Всегда показывайте вызов для проверки человека.
  2. Автоматизированная проверка человеком (только при обнаружении подозрительной активности)

Изучите оба варианта ниже!

Режим № 1: Всегда показывать вызов на верификацию человека

Первый способ менее распространен, но обеспечивает более надежную защиту. Идея заключается в том, чтобы всегда требовать проверки человеком при первом доступе к сайту.

Например, вот как работает StackOverflow на момент написания этой статьи. Попробуйте зайти на него в режиме инкогнито (чтобы обеспечить свежую сессию без куки), и вы увидите CAPTCHA под названием Cloudflare Turnstile, даже если вы настоящий пользователь:

Защита Cloudflare на StackOverflow

Примечание: К тому времени, когда вы будете читать эту статью, защита StackOverflow от ботов может измениться или работать по-другому.

В этом случае, если вы создаете автоматизированный скрипт, единственным вариантом будет автоматизация взаимодействия с Turnstile CAPTCHA в человекоподобной манере. Это особенно сложно, поскольку Turnstile полагается на скрытый анализ поведения и другие фирменные проверки. Именно так ему удается проверить, что вы человек, одним щелчком мыши.

Способ №2: Задача автоматизированной человеческой верификации

В этом режиме Cloudflare выдает вызов, только если подозревает, что запрос может исходить от бота. Для этого он представляет вызов JavaScript, который незаметно запускается в браузере, чтобы убедиться, что клиент ведет себя как легитимный пользователь:

Автоматическая проверка Cloudflare человеком

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

Однако если вызов JavaScript не проходит (то есть Cloudflare делает вывод, что клиент, скорее всего, бот), он переходит к показу CAPTCHA Turnstile для проверки человеком:

На этот раз автоматическая проверка человеком не удалась

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

Как работает Cloudflare в деталях с технической точки зрения

Попробуйте открыть тестовую страницу NopeCHA Cloudflare в режиме инкогнито в своем браузере. Эта страница защищена Cloudflare WAF, поэтому сразу же начнется автоматический процесс проверки на основе JavaScript.

В фоновом режиме происходит обмен сериями POST-запросов с конечными точками Cloudflare, передающими зашифрованные данные в своей полезной нагрузке:

Один из POST-запросов, отправленных браузером в Cloudflare

Точное содержимое этих полезных нагрузок публично не документировано. Однако, основываясь на известных стратегиях обнаружения Cloudflare, можно предположить, что они включают в себя несколько типов отпечатков браузера и системы.

Поскольку конфигурация вашего браузера и оборудования соответствует нормам, этот вызов должен пройти автоматически. В противном случае выполните требуемое взаимодействие с пользователем (например, щелкните флажок).

После успешной проверки сервер Cloudflare выдает cookie cf_clearance, который указывает, что данной конкретной сессии пользователя разрешен доступ к сайту:

В данном случае cookie действует в течение 15 дней. Это означает, что теоретически он может быть повторно использован автоматическим ботом в течение нескольких недель для доступа к целевому сайту без повторного прохождения процедуры проверки.

Что происходит, когда вы пытаетесь подключиться к сайту, защищенному Cloudflare

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

Примечание: приведенные ниже примеры скриптов написаны на языке Python, но те же принципы применимы независимо от выбранного вами языка программирования, HTTP-клиента или средства автоматизации браузера.

Для этой демонстрации мы будем использовать страницу вызова Cloudflare из ScrapingCourse:

Страница вызова Cloudflare от ScrapingCourse

Это сайт, который требует прохождения проверки Cloudflare. После успешного решения задачи отображается следующая страница:

Страница успеха

В следующих примерах мы специально проверим, содержит ли содержимое полученной страницы строку:

"You bypassed the Cloudflare challenge! :D"

Это подтвердит, что процесс проверки был успешно завершен.

В качестве базового теста мы посмотрим, что произойдет при посещении страницы, защищенной Cloudflare, используя два разных подхода:

  1. С помощью HTTP-клиента, например, Requests
  2. С помощью такого инструмента автоматизации браузера, как Playwright

Направление запросов на защищенные страницы Cloudflare

Проверьте, могут ли запросы автоматически обходить человеческую проверку Cloudflare:

# pip install requests

import requests

# Connect to the target page
response = requests.get(
    "https://www.scrapingcourse.com/cloudflare-challenge"
)
# Raise exceptions in case of HTTP error status codes
response.raise_for_status()

# Verify if you received the success page
html = response.text
print("Cloudflare Bypassed:", "You bypassed the Cloudflare challenge! :D" in html) 

Обратите внимание, что сценарий даже не дойдет до финального оператора print(). Вместо этого он потерпит неудачу:

requests.exceptions.HTTPError: 403 Client Error: Forbidden for url: https://www.scrapingcourse.com/cloudflare-challenge

Как видите, Cloudflare распознал запрос как исходящий от автоматического скрипта и заблокировал его с помощью ответа 403 Forbidden.

Посещение защищенных Cloudflare страниц с помощью Playwright

Теперь попробуем использовать решение для автоматизации браузера, например Playwright:

# pip install playwright
# python -m playwright install

from playwright.sync_api import sync_playwright
from playwright.sync_api import TimeoutError

with sync_playwright() as p:
    browser = p.chromium.launch(headless=True)
    page = browser.new_page()

    # Go to the target page
    page.goto("https://www.scrapingcourse.com/cloudflare-challenge")

    try:
        # Wait for the desired text to be on the page
        page.locator("text=You bypassed the Cloudflare challenge! :D").wait_for()
        challenge_bypassed = True
    except TimeoutError:
        challenge_bypassed = False

    # Close the browser and release its resources
    browser.close()

    print("Cloudflare Bypassed:", challenge_bypassed)

Этот скрипт указывает браузеру Chromium посетить целевую страницу. Затем он с помощью локатора проверяет, появился ли на странице элемент, содержащий нужный текст, и автоматически ждет его (по умолчанию Playwright ждет до 30 секунд).

Запустите необходимые команды установки и выполните приведенный выше сценарий. Вы увидите следующий результат:

Cloudflare Bypassed: False

Если запустить его в режимеheadless (headless=False), вы заметите, что скрипт застревает на странице проверки Cloudflare. На ней отображается капча Turnstile CAPTCHA и ожидается, пока она будет решена вручную:

Обратите внимание на CAPTCHA Turnstile на странице в сессии браузера Chromium, управляемой Playwright

Примечание: Если вы попытаетесь автоматизировать нажатие флажка “Турникет”, проверка не пройдет. Это связано с тем, что Cloudflare достаточно умна, чтобы определить, что это автоматическое, а не реальное взаимодействие с человеком.

Высокоуровневые подходы к обходу Cloudflare

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

Подход № 1: полностью обойти Cloudflare

Не забывайте, что Cloudflare работает как CDN, то есть кэширует и распределяет содержимое сайта по нескольким географически распределенным серверам. Поэтому сайты, распространяемые через Cloudflare, обычно доступны только через серверы в сети CDN.

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

Это возможно, если обратиться к инструментам поиска истории DNS, таким как SecurityTrails, чтобы выявить все исторические записи DNS, которые раскрывают IP-адрес оригинального сервера. Получив IP-адрес, вы можете попытаться отправить запросы непосредственно на сервер, минуя Cloudflare.

Проблема в том, что на сервере могут быть установлены дополнительные настройки, позволяющие принимать запросы только с IP-адреса Cloudflare. Это сделает практически невозможным прямое подключение к сайту без блокировки. Кроме того, успешно найти оригинальный IP-адрес сервера довольно сложно и маловероятно.

Подход № 2: Положитесь на решателя Cloudflare

В Интернете можно найти несколько бесплатных библиотек с открытым исходным кодом, предназначенных для обхода Cloudflare. Среди наиболее популярных можно назвать следующие:

  • cloudscraper: Python-модуль для решения задач Cloudflare по борьбе с ботами.
  • Cfscrape: Легкий PHP-модуль для обхода страниц Cloudflare, защищающих от ботов.
  • Гуманоид: Пакет Node.js для обхода JavaScript-задач Cloudflare по борьбе с ботами.

Неудивительно, что большинство из этих проектов не получали обновлений годами. Причина в том, что разработчики отказались от них из-за постоянной борьбы с обновлениями Cloudflare. Таким образом, эти инструменты, как правило, работают недолго.

Подход № 3: Используйте решение для автоматизации с возможностью обхода Cloudflare

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

  • Рендеринг JavaScript, чтобы JavaScript-задачи Cloudflare выполнялись правильно.
  • Подделка TLS, заголовков HTTP и отпечатков пальцев браузера для имитации реальных пользователей и избежания обнаружения.
  • Возможность решения CAPTCHA с помощью турникета, чтобы справиться с человеческой проверкой Cloudflare, когда она появится.
  • Имитация человекоподобного взаимодействия, например, перемещение мыши по кривой B-сплайна для имитации естественного поведения пользователя.

Кроме того, решения премиум-класса часто включают интегрированную прокси-сеть для ротации IP-адресов и снижения риска блокировки.

В следующих двух главах вы увидите в действии как решения с открытым исходным кодом, так и решения премиум-класса!

Как обойти человеческую проверку Cloudflare на Python

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

Поэтому неудивительно, что многие инструменты, которые когда-то работали (например, Puppeteer Stealth), больше не достигают цели. Тем не менее, на момент написания статьи существует два решения, которым действительно удается обойти защиту Cloudflare:

  • Camoufox: Python-браузер с открытым исходным кодом и защитой от обнаружения, основанный на адаптированной сборке Firefox, предназначенный для обхода обнаружения ботов и веб-скрапинга.
  • SeleniumBase: Python-инструментарий с открытым исходным кодом профессионального уровня для расширенной веб-автоматизации.

Давайте посмотрим, как они справятся с задачей Cloudflare на странице ScrapingCourse!

Обход турникета Clouflare с помощью Camoufox

Сначала установите Camoufox в ваш Python-проект с помощью:

pip install camoufox[geoip]

Затем извлеките необходимые дополнительные зависимости с помощью:

python -m camoufox fetch

Для получения дополнительной информации обратитесь к официальному руководству по установке.

Библиотека Camoufox Python построена на базе Playwright, поэтому ее API очень похожи. Посетите целевой сайт, дождитесь появления вызова турникета и обработайте его (если он действительно появится), используя следующую логику:

# pip install camoufox[geoip]
# python -m camoufox fetch

from camoufox.sync_api import Camoufox
from playwright.sync_api import TimeoutError

with Camoufox(
    headless=False,
    humanize=True,
    window=(1280, 720) # So that the Turnstile checkbox is on coordinate (210, 290)
) as browser:
    page = browser.new_page()

    # Visit the target page
    page.goto("https://www.scrapingcourse.com/cloudflare-challenge")

    # Wait for the Cloudflare Turnstile to appear and load
    page.wait_for_load_state(state="domcontentloaded")
    page.wait_for_load_state("networkidle")
    page.wait_for_timeout(5000)  # 5 seconds

    # Ckick the Turnstile checkbox (if it is present)
    page.mouse.click(210, 290)

    try:
        # Wait for the desired text to appear
        page.locator("text=You bypassed the Cloudflare challenge! :D").wait_for()
        challenge_bypassed = True
    except TimeoutError:
        # The text did not appear
        challenge_bypassed = False

    # Close the browser and release its resources
    browser.close()

    print("Cloudflare Bypassed:", challenge_bypassed)

Обратите внимание, что логика работы с турникетом немного запутанная. Она основана на предположении, что флажок Turnstile появится примерно в координатах (210, 290) в окне браузера с разрешением 1280×720.

Запустите приведенный выше сценарий, и вы получите следующий результат:

Camoufox в действии на решении Cloudflare

Автоматическое движение мыши к координате (210, 290) выглядит реалистично благодаря параметру Humanize=True.

Как показано здесь, Camoufox успешно справляется с нажатием на флажок. В результате в терминале вы увидите следующий вывод:

Cloudflare Bypassed: True

Миссия выполнена!

Избегайте Clouflare с помощью SeleniumBase

Установите SeleniumBase с помощью:

pip install seleniumbase

Затем используйте его для работы с Cloudflare:

# pip install seleniumbase

from seleniumbase import Driver
from seleniumbase.common.exceptions import TextNotVisibleException

# Launch in undetected-chromedriver mode
driver = Driver(uc=True)
# Visit the target page
url = "https://www.scrapingcourse.com/cloudflare-challenge"
driver.uc_open_with_reconnect(url, 4)

# Click the Turnstile (if it is present) and reload the page
driver.uc_gui_click_captcha()

try:
    # Wait for the desired text to appear
    driver.wait_for_text("You bypassed the Cloudflare challenge! :D", "main")
    challenge_bypassed = True
except TextNotVisibleException:
      # The text did not appear
      challenge_bypassed = False

# Close the browser and release its resources
driver.quit()

print("Cloudflare Bypassed:", challenge_bypassed) 

В режиме uc=True (который использует undetected-chromedriver под капотом) SeleniumBase может воспользоваться специальным методом uc_gui_click_captcha() для обработки Turnstile CAPTCHA – если она появляется. Это означает, что на этот раз нет необходимости в пользовательской логике клика.

Запустите скрипт, и вы увидите:

SeleniumBase автоматически обходит человеческие проверки Cloudflare

На этот раз сценарий автоматизации обходит начальный этап проверки, даже не задействуя CAPTCHA Turnstile. В любом случае метод uc_gui_click_captcha() успешно справился бы с этим. Это возможно благодаря режиму UC, о котором вы можете узнать больше в нашем руководстве по скраппингу на SeleniumBase.

И вуаля! Cloudflare снова обошли.

Как обойти Cloudflare в масштабе

Две библиотеки, представленные ранее, хорошо подходят для простых сценариев автоматизации, но имеют три основных недостатка:

  1. Чтобы добиться высокого процента эффективных результатов, им приходится запускать браузеры в режиме head. Это потребляет много системных ресурсов и усложняет масштабируемость.
  2. Они непостоянны и могут временно перестать работать, если Cloudflare обновляет логику обнаружения. Поскольку эти решения поддерживаются сообществом, выпуск обновлений может занять несколько дней или даже недель.
  3. Официальной поддержки нет. Вы должны полагаться на онлайн-ресурсы и помощь сообщества.

По этим причинам библиотеки с открытым исходным кодом и возможностью обхода Cloudflare не рекомендуется использовать в производственных проектах. Для получения более масштабируемых и стабильных результатов, а также поддержки со стороны круглосуточной службы поддержки вамнужны продукты премиум-класса , такие как продукты Bright Data.

В частности, здесь мы сосредоточимся на следующих двух решениях:

  • Web Unlocker: Универсальная конечная точка для скраппинга, включающая все возможности обхода антиботов для получения HTML с любого сайта.
  • Браузерный API: Бесконечно масштабируемый облачный браузер, созданный для поддержки любого рабочего процесса автоматизации. Он интегрируется с Puppeteer, Selenium, Playwright и любыми другими инструментами автоматизации браузера. Он включает в себя расширенное управление отпечатками пальцев, встроенное решение CAPTCHA и автоматическую ротацию прокси.

Узнайте, как интегрировать эти инструменты на Python (хотя они поддерживают любой язык программирования) в ваши сценарии автоматизации!

Обход Cloudflare с помощью Web Unlocker

Прежде чем приступить к работе, следуйте официальному руководству по бесплатной настройке Web Unlocker в вашей учетной записи Bright Data. Вам также потребуется сгенерировать API-ключ Bright Data для аутентификации запросов к конечной точке Web Unlocker.

Здесь мы будем считать, что имя вашей зоны Web Unlocker – web_unlocker.

После выполнения описанных выше действий протестируйте Web Unlocker на целевой странице, использованной в этой статье:

# pip install requests

import requests

BRIGHT_DATA_API_KEY = "<YOUR_BRIGHT_DATA_API_KEY>" # Replace with your Bright Data API key
headers = {
    "Authorization": f"Bearer {BRIGHT_DATA_API_KEY}",
    "Content-Type": "application/json"
}
data = {
    "zone": "web_unlocker", # Replace with the name of your Web Unlocker zone
    "url": "https://www.scrapingcourse.com/cloudflare-challenge",
    "format": "raw"
}

# Perform a request to the Web Unlocker endpoint
response = requests.post(
    "https://api.brightdata.com/request",
    json=data,
    headers=headers
)

# Get the response and check if Cloudflare was bypassed
html = response.text
print("Cloudflare Bypassed:", "You bypassed the Cloudflare challenge! :D" in html)

Web Unlocker вернет HTML-содержимое страницы, находящейся за стеной проверки Cloudflare. В частности, переменная html будет содержать следующее содержимое:

<!doctype html>
<html lang="en"><head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Cloudflare Challenge - ScrapingCourse.com</title>

    <!-- omitted for brevity ... -->

    <main class="page-content py-4" id="main-content" data-testid="main-content" data-content="main">
        <div class="container" id="content-container" data-testid="content-container" data-content="container">
            <div class="cloudflareChallenge">
                <h1 id="page-title" class="page-title text-4xl font-bold mb-2 text-left gradient-text highlight gradient-text leading-10" data-testid="page-title" data-content="title">
                    Cloudflare Challenge
                </h1>
                <div class="challenge-info bg-[#EDF1FD] rounded-md p-4 mb-8 mt-5" id="challenge-info" data-testid="challenge-info" data-content="challenge-info">
                    <div class="info-header flex items-center gap-2 pb-2" id="info-header" data-testid="info-header" data-content="info-header">
                        <img width="25" height="15" src="https://www.scrapingcourse.com/assets/images/challenge.svg" data-testid="challenge-image" data-content="challenge-image">
                        <h2 class="challenge-title text-xl font-bold" id="challenge-title" data-testid="challenge-title" data-content="challenge-title">
                            You bypassed the Cloudflare challenge! :D
                        </h2>
                    </div>
                </div>
            </div>
        </div>
    </main>

    <!-- omitted for brevity ... -->

</html>

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

Cloudflare Bypassed: True

Обратите внимание, что плата взимается только за успешные запросы, а пробная версия доступна бесплатно!

Автоматизация Cloudflare с помощью API браузера

В качестве предварительного условия настройте продукт Browser API в своей учетной записи Bright Data. На странице зоны скопируйте URL-адрес подключения Playwright CDP:

Страница зоны APi браузера

Этот URL-адрес содержит ваши учетные данные и позволяет указать любому решению для автоматизации браузера, поддерживающему удаленныйпротокол CDP(Chrome DevTools Protocol), подключиться к Bright Data Browser API. Другими словами, ваш инструмент автоматизации будет работать с удаленно размещенным экземпляром браузера, управляемым Bright Data. Это означает, что масштабируемость и обслуживание браузера будут осуществляться за вас.

Расширьте сценарий Playwright, показанный ранее, чтобы подключиться к Browser API через CDP URL:

# pip install playwright
# python install -m playwright install

from playwright.sync_api import sync_playwright
from playwright.sync_api import TimeoutError

BRIGHT_DATA_API_CDP_URL = "<YOUR_BRIGHT_DATA_API_CDP_URL>" # Replace with your Browser API Playwright CDP URL

with sync_playwright() as p:
    # Connect to the remote Browser API
    browser = p.chromium.connect_over_cdp(BRIGHT_DATA_API_CDP_URL)
    page = browser.new_page()

    # Go to the target page
    page.goto("https://www.scrapingcourse.com/cloudflare-challenge")

    try:
        # Wait for the desired text to be on the page
        page.locator("text=You bypassed the Cloudflare challenge! :D").wait_for()
        challenge_bypassed = True
    except TimeoutError:
        challenge_bypassed = False

    # Close the browser and release its resources
    browser.close()

    print("Cloudflare Bypassed:", challenge_bypassed)

На этот раз скрипт успешно обойдет проверку Cloudflare благодаря расширенным возможностям Browser API. В терминале вы увидите следующий вывод:

Cloudflare Bypassed: True

Отличная работа! Обход Cloudflare больше не является проблемой.

Заключение

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

Независимо от того, какой подход вы выберете, все станет проще с такими профессиональными, быстрыми и надежными решениями, как:

  • Web Unlocker: Конечная точка, которая автоматически обходит ограничения скорости, отпечатки пальцев и другие антиботские ограничения.
  • Браузерный API: Полностью хостируемый браузер, позволяющий автоматизировать взаимодействие с любой веб-страницей.

Зарегистрируйтесь бесплатно и узнайте, какое из решений Bright Data лучше всего подходит для ваших нужд!