Comparisons

Обнаружение ботов и CAPTCHA: в чём разница

Парсер ловит бан ещё до появления CAPTCHA на странице? Дело не в капче — сайт использует отдельный слой обнаружения ботов, который отсекает трафик заранее. Обнаружение ботов анализирует каждый запрос молча и постоянно, а CAPTCHA — разовая явная проверка на конкретном шаге: вход, регистрация, оформление заказа. Большинство сайтов ставят оба барьера подряд, и путать их — частая причина, почему решение CAPTCHA как будто работает, а парсер всё равно ловит бан.

Быстрая диагностика

  • Блок приходит на первом же запросе, до формы и без CAPTCHA на странице — сработал слой обнаружения ботов.
  • Блок приходит только на конкретном действии (вход, оформление заказа) — это CAPTCHA.
  • Оба сценария сразу — сайт использует два барьера подряд, разбирайте по очереди.

Обнаружение ботов и CAPTCHA: главные отличия

Параметр Обнаружение ботов CAPTCHA
Видно ли пользователю Нет, работает незаметно Да, либо частично — v3 и Turnstile проходят без действий пользователя
Когда срабатывает На каждый запрос, постоянно В отдельных точках — вход, регистрация, оформление заказа
Реакция на бота Блокировка, ограничение частоты запросов или подмена ответа Явная задача, которую нужно решить
Что анализирует Заголовки, TLS, IP, поведение, параметры браузера Ответ на задачу + поведенческие сигналы
Типичные решения Cloudflare Bot Management, Akamai Bot Manager, DataDome, PerimeterX reCAPTCHA, Cloudflare Turnstile, GeeTest
Решается через CaptchaAI Не напрямую Да

Как это выглядит на практике

Большинство современных сайтов ставят оба барьера подряд:

Request → Bot Detection Layer → CAPTCHA Layer → Application
           ↓                       ↓
    Block obvious bots      Challenge suspicious users

Пример прохождения:

  1. TLS-параметры проверены — похоже на настоящий Chrome.
  2. IP проверен — адрес резидентный.
  3. Поведенческие сигналы — паттерн подозрительный.
  4. Срабатывает CAPTCHA как дополнительная проверка.
  5. Solver решает CAPTCHA.
  6. Доступ разрешён.

Похожий сценарий встречается у команд из СНГ, парсящих цены на сайтах с Cloudflare Bot Management: воркеры разворачивают в европейском регионе из-за задержки, но резидентный IP не спасает от поведенческого скоринга — рано или поздно всплывает Turnstile. При сборе персональных данных сверьтесь с 152-ФЗ.


Что делать при парсинге: два шага

Шаг 1: пройдите обнаружение ботов

Реалистичная конфигурация браузера решает почти всё: например, Puppeteer с правдоподобными параметрами вместо дефолтных значений automation-флагов, резидентные прокси, корректные заголовки (User-Agent, Accept и другие) и реалистичные паттерны запросов вместо фиксированного интервала между обращениями.

Шаг 2: решите CAPTCHA, когда она появится

import requests

# Check if response contains a CAPTCHA
if "g-recaptcha" in page_source:
    # Solve with CaptchaAI
    token = solve_recaptcha(sitekey, page_url)
elif "cf-turnstile" in page_source:
    token = solve_turnstile(sitekey, page_url)
elif "challenge" in page_source and "cloudflare" in page_source:
    cookie = solve_turnstile(page_url, proxy)

Сайты усиливают защиту постепенно: обычный ответ → ограничение частоты после серии запросов → задача CAPTCHA после ограничения → бан по IP после неудачных решений → блокировка по параметрам браузера после смены IP.


Как сайты определяют ботов

Системы обнаружения ботов разбирают каждый запрос ещё до приложения — по TLS-параметрам (хеш JA3/JA4 указывает клиентскую библиотеку), HTTP-заголовкам, репутации IP, паттернам запросов, JS-проверкам, параметрам браузера (Canvas, WebGL, шрифты) и поведенческому анализу движений мыши и клавиатуры.

Кто чаще всего поставляет такую защиту:

  • Cloudflare Bot Management — TLS + JS-проверка + машинное обучение; резерв — Turnstile или страница Challenge.
  • Akamai Bot Manager — TLS + параметры браузера + поведение; резерв — собственная задача.
  • DataDome — JS-проверка + параметры браузера; резерв — собственная CAPTCHA или reCAPTCHA.
  • PerimeterX (HUMAN) — поведение + параметры браузера; резерв — собственная задача.
  • Imperva — несколько слоёв защиты; резерв — reCAPTCHA.

Как устроена проверка CAPTCHA

CAPTCHA подключают в конкретных точках, где нужна проверка: пользователь доходит до защищённого действия (вход, оформление заказа, форма), виджет рендерится — видимо или без явного взаимодействия, показывается задача либо запускается тихий анализ, пользователь или solver проходит задание, бэкенд проверяет токен, и только после этого доступ разрешён или закрыт.


Частые вопросы

Как понять, что сайт использует обнаружение ботов, а не только CAPTCHA?

Если блокировка появляется ещё до формы, работает слой обнаружения ботов. Чистая CAPTCHA почти всегда привязана к действию: входу, регистрации, оформлению заказа.

Решает ли CaptchaAI обнаружение ботов?

CaptchaAI решает CAPTCHA, а не сам слой обнаружения ботов. Чтобы пройти обнаружение, нужны реалистичная конфигурация браузера, резидентные прокси и правдоподобные паттерны запросов — CaptchaAI берёт на себя только задачу CAPTCHA.

Сколько потоков CaptchaAI нужно, если сайт защищён и Cloudflare Bot Management, и Turnstile?

Число потоков зависит от частоты появления CAPTCHA, а не от бот-защиты. Для теста хватит плана BASIC ($15/мес, 5 потоков); увеличивайте план по мере роста доли запросов, доходящих до Turnstile.

Что делать, если бот-защита пройдена, но CAPTCHA и резидентные прокси всё равно нужны?

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

CaptchaAI закрывает только задачу CAPTCHA; сам по себе он не отвечает за слой обнаружения ботов. Если сайт стоит за отдельным слоем обнаружения ботов, без резидентных прокси сессию могут заблокировать раньше, на уровне анализа IP и поведения.


Дальше пригодится: как проходит защита Cloudflare Challenge на staging, парсинг без блокировок и ротация прокси при парсинге с CAPTCHA.


Хотите закрыть слой CAPTCHA за пару минут? Получите API-ключ CaptchaAI и подключите его к пайплайну парсинга.

Комментарии для этой статьи отключены.