CAPTCHA (в веб-скрапинге)
Тест «вопрос-ответ», которым сайты отличают живых пользователей от ботов; часто срабатывает при скрапинге.
CAPTCHA расшифровывается как Completely Automated Public Turing test to tell Computers and Humans Apart. На практике это барьер, который сайты ставят перед пользователями, подозреваемыми в автоматизации, - с распознаванием картинок, решением головоломок или кликом по чекбоксу.
CAPTCHA срабатывает при скрапинге по нескольким причинам: слишком много запросов с одного IP, диапазоны дата-центровых IP, отсутствующие браузерные заголовки, несогласованные TLS-отпечатки и необычные паттерны тайминга запросов.
Самый действенный способ снизить частоту CAPTCHA - использовать резидентные или мобильные прокси вместо дата-центровых IP. Тип ASN - один из первых сигналов, которые проверяют CAPTCHA-системы. Резидентные IP от реальных провайдеров вызывают CAPTCHA намного реже, чем дата-центровые.
Когда CAPTCHA всё же появляется, есть два основных подхода: сервисы решения CAPTCHA (2Captcha, Anti-Captcha), использующие людей или ML-модели для программного решения, и обход на основе поведения, достаточно точно имитирующий человеческий сёрфинг, чтобы не запускать проверку.
reCAPTCHA v3 от Google оценивает запросы незаметно, не показывая задание - она присваивает балл риска (0–1) на основе поведения. Балл ниже 0.5 может включить дополнительные проверки. Резидентные прокси вместе с реалистичными браузерными отпечатками держат баллы reCAPTCHA v3 высокими.
Проверка это оценка, а не приговор
Капча появляется, когда сайт не уверен. Системы вроде reCAPTCHA и Turnstile оценивают каждый визит по репутации адреса, отпечатку TLS, согласованности браузера и поведению, а затем показывают проверку тем запросам, что попали в среднюю полосу. Уверенные блокировки возвращают 403.
Поэтому капча это полезная информация: вы близки к тому, чтобы пройти. Что-то в вашей схеме не так, но не настолько, чтобы сайт отказал сразу.
Современные проверки часто невидимы. Достаточно высокая оценка проходит без всякого взаимодействия, и поэтому одна и та же страница показывает головоломку одному клиенту и ничего другому. Сервисы разгадывания закрывают видимые проверки и никак не влияют на оценку, которая их породила.
Двигать оценку вместо разгадывания головоломки
Большинство проблем с капчей в скрапинге растут из одного из трёх мест, и лишь одно из них адрес:
Что менять в первую очередь
Datacenter address on a protected site -> switch to residential or ISP
Python TLS fingerprint -> use a real browser or curl-impersonate
Too many requests too fast -> slow down, spread across addresses
# Verify the address is not the problem:
curl -x login_c_US:password@proxy.sotaproxy.com:10000 https://ipinfo.io/json- Проверьте настоящим браузером через тот же адрес. Если браузер проходит, а ваш скрипт нет, дело никогда не было в адресе.
- Резидентские и мобильные адреса получают оценку выше, чем хостинговые диапазоны, и часто этого хватает, чтобы пограничный случай ушёл под порог.
- Сервисы разгадывания это цена за каждую проверку и никак не мешают появиться следующей. Работа с оценкой сокращает то, как часто вы с ними встречаетесь.
- Помогают устойчивые профили: аккаунт с историей и куками получает оценку выше, чем каждый раз новый посетитель.
Заблуждения о капче
Капча это не бан
Это неуверенная оценка. Та же схема часто проходит после небольшой правки темпа или отпечатка.
Прокси получше не всегда помогают
Если ваш клиент объявляет себя скриптом ещё в рукопожатии, адрес его не спасёт.
Разгадывать их это не стратегия
Так лечится симптом по цене за проверку, а причина остаётся нетронутой.
Невидимые проверки существуют
Отсутствие головоломки не значит, что вас не оценили. Тихие сбои часто означают, что оценка вышла плохой и вам отдали урезанное содержимое.
Связанные термины
Смотри на практике
Готов использовать captcha (в веб-скрапинге)?
SotaProxy даёт доступ к ротирующим резидентским, мобильным, дата-центр и ISP прокси. Без минимальных платежей.
Начать