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 високими.
A challenge is a score, not a verdict
A CAPTCHA appears when a site is uncertain. Systems like reCAPTCHA and Turnstile score every visit on address reputation, TLS fingerprint, browser consistency and behaviour, then challenge the requests that land in the middle band. Confident blocks return 403 instead.
That makes a CAPTCHA useful information: you are close to passing. Something in your setup is off, but not so far off that the site refuses outright.
Modern challenges are frequently invisible. A score high enough passes without any interaction, which is why the same page shows a puzzle to one client and nothing to another. Solving services address the visible ones and do nothing about the score that produced them.
Moving the score instead of solving the puzzle
Most CAPTCHA problems in scraping come from one of three places, and only one of them is the address:
What to change first
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- Test with a real browser through the same address. If the browser passes and your script does not, the address was never the issue.
- Residential and mobile addresses score better than hosting ranges, which is often enough to move a borderline case under the threshold.
- Solving services are a cost per challenge and do nothing to stop the next one. Fixing the score reduces how often you meet them.
- Persistent profiles help: an account with history and cookies scores better than a fresh visitor every time.
CAPTCHA misconceptions
A CAPTCHA is not a ban
It is an uncertain score. The same setup often passes after a small change in pacing or fingerprint.
Better proxies do not always help
If your client announces itself as a script in the handshake, the address cannot rescue it.
Solving them is not a strategy
It treats the symptom at a per-challenge price and leaves the cause untouched.
Invisible challenges exist
Not seeing a puzzle does not mean you were not scored. Silent failures often mean you scored badly and got reduced content.
Пов'язані терміни
Дивись на практиці
Готовий використовувати captcha (у вебскрапінгу)?
SotaProxy надає доступ до ротуючих резидентських, мобільних, дата-центр та ISP проксі. Без мінімальних платежів.
Почати