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

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

Что такое CAPTCHA сегодня

CAPTCHA расшифровывается как «Completely Automated Public Turing test to tell Computers and Humans Apart» (полностью автоматизированный публичный тест Тьюринга для различения компьютеров и людей). Долгое время это означало видимый тест: искажённый текст, сетки изображений, аудиоклип для транскрипции. Всё это до сих пор существует, но уже не является линией обороны. Доминирующие сегодня системы, reCAPTCHA v3, hCaptcha и Cloudflare Turnstile, в основном невидимы. Они работают в фоне, отслеживают поведение запроса и сессии и присваивают оценку риска. Низкая оценка пропускает пользователя без взаимодействия. Высокая, выводит видимую проверку, блокировку или незаметно деградированный ответ.

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

Избегайте триггера, не решайте головоломку

Решение уже показанной проверки ненадёжно и с каждым выпуском становится сложнее. Никогда не провоцировать её появление, стабильная стратегия, потому что чистые сигналы выглядят одинаково для любой версии оценщика. Вкладывайте усилия в работу с запросом, а не в поиск ответа на головоломку.

Сигналы, из-за которых вас проверяют

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

Сигнал Что вызывает проверку Что делать
Репутация и частота IP ASN дата-центра или один IP, делающий много быстрых запросов Ротация жилых IP, низкая частота на IP
Отпечатки браузера и TLS Флаги безголового режима, отсутствующие или непоследовательные заголовки, TLS-рукопожатие, не соответствующее заявленному браузеру Реальные заголовки, согласованный отпечаток, настоящий движок браузера
Поведение Отсутствие движений мыши, одинаковые временные паузы, мгновенное заполнение форм, идеально линейная навигация Задержки в темпе человека, разнообразные пути, реальное взаимодействие при рендеринге
Ловушки honeypot Заполнение скрытых полей или переход по ссылкам, которые человек не может видеть Уважайте видимость; никогда не трогайте элементы вне экрана или с display:none
Сессия и куки Отсутствие кук, нет истории реферера, новая сессия при каждом запросе Сохранять куки, поддерживать сессию тёплой между запросами

Читайте эту таблицу как список приоритетов, а не меню. IP и отпечаток, два наиболее значимых сигнала, поскольку они оцениваются первыми и дешевле всего обрабатываются защитником. Поведение и сессии становятся важнее по мере того, как вы углубляетесь в сайт. Ловушки honeypot, это полный провал: попадитесь в одну, и никакой чистый IP вас не спасёт.

Плейбук по предотвращению в порядке приоритета

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

1. Ротация жилых IP при низкой частоте на IP

Репутация IP, первое, что оценивается, и самое дешёвое для защиты, поэтому именно здесь большинство схем ломается. Диапазоны адресов дата-центров разрешаются в хостинговые ASN и сразу попадают под подозрение; оценщик часто наказывает их ещё до того, как запрос достигает страницы. Жилые прокси выходят через реальные соединения потребительских ISP, поэтому IP воспринимается как принадлежащий живому человеку. Но даже доверенный IP ограничивается по скорости, если вы его перегружаете, поэтому нужна ротация. Ротирующие жилые прокси распределяют запросы по множеству реальных адресов, благодаря чему частота на IP остаётся низкой даже при высоком общем объёме. Чистый способ их использования, шлюз с обратным подключением (backconnect gateway): одна конечная точка, которая меняет выходной IP на стороне сервера. Подробнее, в материалах о как использовать ротирующие прокси и ротации IP-адресов. Поддержание низкой частоты на IP, это самая высокоэффективная привычка; ротация помогает только тогда, когда объём действительно равномерно распределён.

2. Реальные заголовки и согласованный отпечаток

После IP оценщик читает, за кого вы себя выдаёте. Запрос, в котором отсутствуют заголовки, которые отправляет реальный браузер, или несущий user-agent, противоречащий его TLS-рукопожатию,, лёгкий флаг. Цель, согласованность: user-agent, набор заголовков, отпечаток TLS и среда JavaScript должны описывать один и тот же правдоподобный браузер. Жилой IP в обёртке очевидного безголового отпечатка хуже, чем полное отсутствие прокси, потому что само противоречие и является сигналом. Именно здесь протекает большинство самодельных скраперов; подробнее, в материале о отпечатках браузера.

3. Рендеринг JavaScript там, где страница его требует

Многие современные сайты формируют контент на стороне клиента и запускают скрипт оценки CAPTCHA в браузере. Обычный HTTP-запрос никогда не выполняет этот скрипт, что само по себе может выглядеть подозрительно, и зачастую возвращает пустую оболочку. Рендеринг с помощью настоящего движка браузера запускает страницу так, как это делал бы браузер посетителя, что и наполняет контент, и создаёт более правдоподобную среду выполнения. Используйте рендеринг только тогда, когда целевой сайт его требует: это медленнее и дороже, чем простой запрос, поэтому приберегите его для страниц, которым он действительно нужен.

4. Поведение в темпе человека

Поведенческая оценка отслеживает время и взаимодействие. Запросы, отправляемые в плотном одинаковом цикле, имеют машинную сигнатуру, которую не замаскирует никакой IP. Добавьте вариативность: задавайте темп запросов, варьируйте интервалы, а при рендеринге допускайте реальное взаимодействие вместо телепортации по DOM. Цель, не обмануть живого проверяющего; цель, избежать статистической регулярности, которая выдаёт автоматизацию.

5. Соблюдайте robots.txt и не касайтесь ловушек

Ловушки honeypot, это поля и ссылки, специально размещённые для поимки ботов: скрытые поля ввода, якоря вне экрана, ссылки, которые человеческий глаз никогда не увидит. Реальный посетитель игнорирует их, потому что браузер их скрывает; наивный скрапер, разбирающий сырой HTML, прямиком в них попадает. Уважайте видимость элементов и воспринимайте robots.txt как этическую и практическую границу, поскольку запрещённые пути зачастую наиболее тщательно отслеживаются.

6. Сохраняйте сессии и куки

Новая сессия при каждом запросе без кук и истории, небольшой, но реальный признак бота. Сохранение кук и поддержание тёплой сессии между запросами делает ваш трафик похожим на возвращающегося посетителя, а не на бесконечный поток незнакомцев, и позволяет собственным сигналам сайта «этот пользователь в порядке» накапливаться в вашу пользу.

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

Вторая задача: решение уже показанной проверки

Иногда проверка всё-таки появляется, и люди тянутся к одному из трёх инструментов: OCR для старых текстовых CAPTCHA, обученной модели для сеток изображений или сервиса решения людьми, который передаёт головоломку реальным людям через API. Они существуют, и есть узкие, законные случаи их применения, например, автоматизация рабочего процесса на сайте, которым вы владеете или на котором у вас есть письменное разрешение на доступ. Но будьте трезво объективны насчёт компромиссов, прежде чем строить на них систему.

  • Ненадёжность. Точность варьируется в зависимости от типа проверки и снижается в момент, когда провайдер выпускает обновление. Пайплайн, зависящий от успешности решателей, наследует эту нестабильность.
  • Непрекращающаяся гонка вооружений. Провайдеры проверок активно противодействуют решателям. Что работает сегодня, движущаяся цель, поэтому вы подписываетесь на постоянное обслуживание против противника с бо́льшими ресурсами, чем у вас.
  • Дополнительные затраты и задержки. Сервисы решения людьми берут плату за каждое решение и добавляют секунды задержки на каждую проверку, что уничтожает пропускную способность при масштабировании.
  • Нарушение ToS и юридические риски. Программное преодоление средств защиты сайта может нарушить его условия использования, а в зависимости от юрисдикции и целей, создать реальные правовые риски.

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

Этика и законность

Допустимо ли всё это, не вопрос с однозначным ответом; всё зависит от условий использования сайта, вашей юрисдикции и ваших целей. Несколько принципов хорошо держатся в большинстве случаев. Скрапите только публичные данные: информацию, которую может видеть незарегистрированный посетитель, а не то, что находится за аутентификацией. Соблюдайте robots.txt и нагрузку, которую сайт может выдержать. Не получайте доступ к данным за логином и не собирайте персональные данные без законного основания. Публичные агрегированные метаданные для анализа находятся на совершенно иной почве, нежели сбор информации об отдельных людях, и именно второе, основная область правовых и этических рисков.

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

Сворачиваем всё в одну конечную точку

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

Crawlbase Crawling API

Crawling API объединяет ротацию жилых IP, согласованность отпечатков, рендеринг JavaScript и автоматические повторные попытки в одном вызове, чтобы проверки редко срабатывали с самого начала, а не решались постфактум. Вы передаёте токен и URL; работа по предотвращению происходит на стороне сервера. Попробуйте на реальной цели на бесплатном тарифе, прежде чем углубляться в интеграцию.

На практике это один GET-запрос. Вы передаёте токен и целевой URL и включаете рендеринг там, где страница его требует.

python
# Rotation, fingerprint, rendering, and retries are server-side,
# so the request scores low and the challenge rarely fires.
import requests

resp = requests.get(
    "https://api.crawlbase.com/",
    params={
        "token": "YOUR_CRAWLBASE_TOKEN",
        "url": "https://example.com/listing/123",
        "javascript": "true",  # render only when the page needs it
    },
)
print(resp.status_code)
print(resp.text)

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

Итоги

Ключевые выводы

  • Предотвращение лучше решения. Никогда не провоцировать проверку, надёжная стратегия; победить уже показанную, ненадёжная гонка вооружений. Вкладывайте усилия заранее.
  • Оценка, это ворота. Современные системы оценивают вас до того, как показать что-либо, поэтому борьба ведётся в сигналах, которые вы посылаете, а не в головоломке, которую вы решаете.
  • IP и отпечаток, на первом месте. Ротация жилых IP при низкой частоте на IP в сочетании с согласованным отпечатком максимально снижают вашу оценку ниже порогового значения.
  • Решатели, крайнее средство. OCR, модели и сервисы с участием людей ненадёжны, затратны и могут нарушать ToS; приберегите их для узких, авторизованных случаев.
  • Оставайтесь на публичных данных. Законность зависит от ToS, юрисдикции и целей; соблюдайте robots.txt, никогда не трогайте контент за логином или персональные данные.

Часто задаваемые вопросы

В чём разница между предотвращением и решением CAPTCHA?

Предотвращение означает формирование трафика таким образом, чтобы антибот-система никогда не показывала проверку: отправку чистых сигналов с доверенным IP, согласованным отпечатком, поведением в темпе человека. Решение означает победу над проверкой, которая уже появилась, с помощью OCR, модели или сервиса с людьми. Предотвращение, это надёжная инженерия под вашим контролем; решение, ненадёжная гонка вооружений с провайдером проверок. Как правило, исправить сигналы, вызвавшие проверку, дешевле и надёжнее, чем решать её.

Почему я получаю CAPTCHA, даже когда ничего видимо не решаю?

Современные системы, такие как reCAPTCHA v3 и Turnstile, в основном невидимы. Они оценивают ваш запрос и сессию в фоне и показывают видимую головоломку только при высокой оценке. Поэтому появление CAPTCHA означает, что вы уже провалили оценку, обычно из-за IP дата-центра, безголового отпечатка или машинного тайминга. Решение, в этих самих сигналах, а не в самой головоломке.

Останавливают ли ротирующие прокси появление CAPTCHA?

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

Стоит ли использовать сервисы решения CAPTCHA?

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

Законно ли обходить CAPTCHA при скрапинге?

Это зависит от условий использования сайта, вашей юрисдикции и ваших целей, поэтому однозначного ответа нет. Безопасная сторона, скрапить только публичные данные, соблюдать robots.txt и скорость сайта, никогда не заходить за логин или не собирать персональные данные без законного основания. Для всего, что выходит за пределы публичных данных, правильный путь, официальный API или соглашение об обмене данными.

Может ли управляемый API сделать это за меня?

Да. Crawlbase Crawling API объединяет ротацию жилых IP, согласованность отпечатков, рендеринг JavaScript и повторные попытки в одном запросе, благодаря чему запросы получают низкую оценку и проверки редко срабатывают. Вы передаёте токен и URL, а работа по предотвращению происходит на стороне сервера, что проще, чем самостоятельно поддерживать пул прокси, парк безголовых браузеров и логику регулировки темпа.

Начать создавать

Обходите любой сайт в масштабе, без борьбы с инфраструктурой.

Crawlbase берёт на себя прокси, отпечатки и CAPTCHA, чтобы ваша команда выпускала конвейеры данных вместо поддержки обвязки краулинга. 1 000 запросов бесплатно, без карты.

Самообслуживание · Звонок отдела продаж не требуется · Доступны корпоративные объёмы краулинга