iProxy.online logo
Проксі для
Ресурси
Компанія
Search icon
/
UK
English
Português
Русский
Español
Türkçe
Українська
Tiếng Việt
ไทย
中文
हिंदी
Show menu icon

Обхід reCAPTCHA v3 у веб-скрейпінгу: як отримати високий Trust Score в автоматизації

Огляди
Середній рейтинг: 0.00 голоси

Обхід reCAPTCHA v3 у веб-скрейпінгу: як отримати високий Trust Score в автоматизації

Якщо ви займаєтесь веб-скрейпінгом, арбітражем трафіку або SEO-моніторингом, то напевно стикалися з такою ситуацією: мобільні проксі налаштовані ідеально, відбитки браузера в Playwright або антидетект-браузері підмінені й працюють коректно, але цільовий сайт все одно не пускає. Часто причина криється у невидимій reCAPTCHA v3.

recaptcha-v3-access-landing en.jpg

На відміну від попередників, ця версія не просить шукати світлофори чи розбирати спотворений текст. Вона працює в тіні, аналізуючи поведінкові фактори та повертаючи власнику сайту ваш Trust Score.

Розберемо, як насправді працює система оцінки Google, чому класичний підхід із проксі тут не завжди допомагає та як правильно використовувати API 2Captcha для гарантованого високого бала.

Як reCAPTCHA v3 оцінює «людяність»

reCAPTCHA v3 запускається у фоновому режимі з моменту завантаження сторінки. Скрипт збирає масив даних: IP-адресу, історію сесій браузера, рухи миші, кліки та інші поведінкові патерни. На основі цієї інформації Google повертає серверу Score в діапазоні від 0.0 до 1.0.

recaptcha stat.jpg

Які саме сигнали збирає Google? Вбудований скрипт працює через систему Advanced Risk Analysis, безперервно оцінюючи сотні параметрів. Алгоритм зчитує траєкторію руху миші, швидкість і патерни прокрутки сторінки, а також ритм набору тексту на клавіатурі. До цього додаються технічні метрики: репутація IP-адреси, консистентність відбитка браузера та час, проведений на сайті до цільової дії. Якщо ваш скрипт миттєво відкриває сторінку й через мілісекунду натискає «Надіслати», алгоритм одразу присвоює вам статус бота.

Офіційна шкала оцінки виглядає так:

  • 0.9 - 1.0: З високою ймовірністю людина (повний доступ)
  • 0.7 - 0.8: Скоріш за все людина (сайт може пропустити або зафіксувати дію)
  • 0.4 - 0.6: Зона невизначеності (сайт може запросити додаткову перевірку, наприклад 2FA)
  • 0.1 - 0.3: Скоріш за все бот (дію заблоковано або повна відмова в доступі)
  • 0.0: Однозначно підозрілий і шкідливий трафік
Trust Score en.jpg

Як сайти реагують на ваш Score? Важливо розуміти: reCAPTCHA сама по собі нікого не блокує, а лише передає сайту вашу оцінку. Серверна логіка цільового ресурсу вирішує, що з вами робити. Зазвичай це працює так: при 0.9 вас пропускають без питань. Якщо бал падає до 0.5, сайт може розгорнути додаткову перевірку, наприклад надіслати SMS-код або попросити підтвердити email. А при 0.1 з'єднання просто скидається або форма видає мовчазну помилку. Тому для успішного збору даних не завжди потрібно гнатися за максимальним балом: достатньо стабільно підтримувати середній показник, якщо ваш скрейпер справляється з проміжними перевірками.

Проблема автоматизації в тому, що навіть із чистим мобільним IP свіжостворена сесія скрипта без історії кукі часто отримує Score нижче 0.3.

Підхід 2Captcha: профілювання замість емуляції

Спроби маніпулювати Score програмно — невдячна й дорога справа. Сервіс розпізнавання 2Captcha вирішує цю проблему простіше: він не обманює алгоритми на льоту, а спирається на попереднє профілювання своїх реальних працівників.

2captcha en.jpg

Всередині системи кожному працівнику періодично видається тестова капча для виміру його особистого Trust Score. Ці бали записуються в базу даних. Коли ваш скрипт надсилає API-запит з вимогою токена на 0.9, система 2Captcha спрямовує задачу виключно тим працівникам, чий поточний Google-профіль утримує бал 0.9.

Архітектура рішення: чому v3 не потребує ваших проксі?

Тут криється найпоширеніше хибне уявлення серед розробників скрейперів. Здається логічним: якщо ваш скрипт працює через мобільні проксі, потрібно передати ті самі проксі в API 2Captcha, щоб працівник розв'язував капчу з тієї ж IP-адреси.

Офіційний факт: 2Captcha не підтримує передачу користувацьких проксі для reCAPTCHA V3 та Enterprise V3. API використовує виключно тип задачі RecaptchaV3TaskProxyless.

Чому так? Досвід сервісу показує: використання сторонніх проксі-серверів при розв'язанні v3 різко знижує відсоток успіху. Працівник відкриває цільовий сайт зі своєї реальної IP-адреси та зі своєю природною, накопиченою історією браузера — саме це й дає високий Score. Згенерований токен повертається вашому скрипту через API. Важливо розуміти: IP-адреса клієнта при надсиланні фінальної форми на сайті не повинна збігатися з IP-адресою працівника, що отримав токен.

Інтеграція API: обов'язкові параметри

Для запиту розв'язання необхідно надіслати POST-запит до методу createTask API v2. Ключові параметри в JSON:

  • type: Завжди RecaptchaV3TaskProxyless
  • websiteURL (обов'язковий): Повний URL сторінки, де завантажений скрипт капчі
  • websiteKey (обов'язковий): Ключ сайту. Його легко знайти у вихідному коді в параметрі data-sitekey або перехопити в мережевих запитах
  • minScore (обов'язковий): Бажаний бал. Доступні значення: 0.3, 0.7 та 0.9
  • pageAction (необов'язковий): Параметр action з коду сайту (наприклад, action: 'login'). Якщо він є на сайті, його потрібно передати
  • apiDomain (необов'язковий): Домен завантаження скрипта. За замовчуванням google.com, але в деяких регіонах використовується recaptcha.net

Щойно API поверне готовий токен (довгий рядок виду 03ADUVZwB7...), вашому скрипту залишиться вставити його в приховане поле g-recaptcha-response або передати в callback-функцію сайту, наприклад window.verifyRecaptcha(token).

Інтеграція токена: робоча логіка скрейпера

Успішне отримання токена з API — лише половина справи. Потрібно ще правильно «згодувати» його сайту. Однак простої заміни значення в прихованому полі часто недостатньо.

playwright-recaptcha-elements-mock.jpg

У більшості випадків потрібно знайти приховане поле з ID g-recaptcha-response та вставити токен, виконавши JavaScript у контексті сторінки (наприклад, через page.evaluate()). Але сайти часто вимагають ще й виклику callback-функції, що валідує дані та надсилає форму далі. Завжди перевіряйте вихідний код кнопки надсилання, щоб зрозуміти, який саме скрипт очікує ваш токен.

Маскування автоматизації: важливість Stealth-модулів

При написанні скрейперів на Python багато хто пропускає критичну деталь: «голий» headless-браузер виявляється миттєво. Якщо ви використовуєте стандартний Playwright, алгоритми безпеки розпізнають автоматизацію ще до надсилання задачі в API 2Captcha. Обов'язково використовуйте пакети маскування, такі як playwright-stealth. Вони приховують маркери автоматизованої поведінки (наприклад, прибирають прапор navigator.webdriver), роблячи ваш браузер невідрізнимим від звичайного Chrome користувача. Без такої підготовки навіть ідеально розв'язану капчу від реального працівника може відхилити параноїдальний сайт, бо ваш власний початковий відбиток браузера вже був скомпрометований.

Взаємодія reCAPTCHA v3 зі складними антифрод-системами

Важливо розуміти: великі сайти рідко захищені лише однією капчею. Бал від Google часто передається далі — в серйозні WAF-системи (Web Application Firewall) на кшталт Akamai або Imperva. Вони агрегують усі дані воєдино.

Це означає, що сервер не просто перевіряє токен від 2Captcha, а зіставляє його з вашими мережевими відбитками (TLS-handshakes, TCP/IP-параметри). Якщо у вашого скрейпера «брудний» мережевий слід, WAF відхилить запит ще до перевірки капчі. У такій ситуації генерувати токени безглуздо: корінь проблеми глибше, на рівні мережевого підключення.

Особливості reCAPTCHA Enterprise

Окрім стандартної reCAPTCHA V3, деякі платформи використовують просунуту корпоративну версію — reCAPTCHA Enterprise. Вона аналізує шахрайство значно суворіше.

Розпізнати її легко: замість стандартного api.js на сайті завантажується скрипт enterprise.js, а в коді з'являються виклики grecaptcha.enterprise.execute.

Для розв'язання цього типу капчі використовується той самий тип задачі RecaptchaV3TaskProxyless, але в запит потрібно додати булевий параметр "isEnterprise": true. Враховуйте тайминги: звичайна v3 розв'язується працівниками в середньому за ~5 секунд, а Enterprise-версія — приблизно ~13 секунд. Це потрібно закласти в таймаути ваших скриптів.

Економіка автоматизації: оптимізація витрат

Не піддавайтесь спокусі завжди запитувати максимальний minScore: 0.9, якщо ви не впевнені, що сайту дійсно потрібен саме такий бал. Правильне налаштування збереже бюджет.

Ціни 2Captcha на v3 залежать від запитаного бала:

  • Запити з minScore <= 0.3 коштують $1.45 за 1 000 розв'язань
  • Запити з minScore > 0.3 (тобто 0.7 або 0.9) коштують $2.99 за 1 000 розв'язань

Найкраща практика з офіційної документації: На етапі тестування та налагодження скрейпера завжди починайте з мінімально допустимого бала 0.3. Підвищуйте вимоги до 0.7 або 0.9, лише якщо цільовий ресурс починає відхиляти понад 50% надісланих токенів.

Чому власні скрипти та нейромережі тут марні

Багато хто звик розв'язувати прості графічні капчі за допомогою власних скриптів або відкритих OCR-моделей. Для v3 цей підхід абсолютно не працює. Ваша локальна нейромережа фізично нездатна згенерувати токен g-recaptcha-response, бо він криптографічно підписується на закритих серверах Google після оцінки живого профілю. Делегування цієї задачі реальним людям через Proxyless-запити — єдиний технічно робочий шлях.

Поєднання якісних мобільних IP та правильної роботи з API 2Captcha через Proxyless-запити дозволяє вибудувати практично невразливу систему збору даних, якій не страшні жодні невидимі перевірки Trust Score.

Оцініть цю статтю, якщо вона вам подобається: