Реалізація обходу захисту від парсингу (CAPTCHA, rate limiting)

Промислові захисти від парсингу — DataDome, Cloudflare Bot Management, PerimeterX, Akamai Bot Manager — аналізують поведінку користувачів за десятками сигналів: від відхилення WebGL-рендерингу до мікротаймінгів між кліками. Кожна система використовує власні ML-моделі, які оновлюються щотижня. Нещода

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Реалізація обходу захисту від парсингу (CAPTCHA, rate limiting)
Складний
~3-5 днів

Наші компетенції:

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1422
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1287
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    984
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1249
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    986
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    1000

Промислові захисти від парсингу — DataDome, Cloudflare Bot Management, PerimeterX, Akamai Bot Manager — аналізують поведінку користувачів за десятками сигналів: від відхилення WebGL-рендерингу до мікротаймінгів між кліками. Кожна система використовує власні ML-моделі, які оновлюються щотижня. Нещодавно ми вирішили задачу для клієнта з e-commerce: потрібно було парсити каталог конкурента, захищений DataDome та reCAPTCHA v3. Ми застосували ротацію резидентних проксі, доопрацьований Playwright з маскуванням 30+ сигнатур та кастомний CAPTCHA-солвер — стабільність склала 97% при 500 тис. сторінок на добу. Такі результати вимагають глибокого розуміння конкретного захисту та комбінування кількох технік. Ми реалізуємо обхід під ключ: від базового stealth до повної системи з моніторингом за 12–18 днів. Звертайтеся — оцінимо ваш проєкт.

У цій статті розберемо основні типи захистів, методи обходу rate limiting та CAPTCHA, організацію проксі-інфраструктури та способи підтримки стабільності при зміні алгоритмів. Подібний результат вимагає постійного моніторингу та адаптації — ми включаємо це в підтримку.

Як захисти класифікуються і що з цим робити?

Рівень 1 — Rate limiting. Простий захист по IP: більше N запитів на секунду → блокування. Вирішується проксі-ротацією та зниженням частоти запитів.

Рівень 2 — Fingerprinting браузера. Перевірка navigator.webdriver, canvas fingerprint, WebGL рендеринг, аудіо контекст, список плагінів. Детектує headless-браузери без маскування.

Рівень 3 — Поведінковий аналіз. ML-моделі на стороні захисту: патерни руху миші, таймінги між діями, порядок подій. Відрізняє бота від людини навіть при правильному fingerprint.

Рівень 4 — CAPTCHA. Візуальні або поведінкові завдання. Google reCAPTCHA v2/v3, hCaptcha, Arkose Labs (FunCaptcha), Cloudflare Turnstile.

Ми працювали з кожним із цих захистів на десятках проєктів. Наш досвід — понад 5 років на ринку та 30+ успішних інтеграцій. Гарантуємо стабільність парсингу навіть при оновленні алгоритмів захисту. На практиці найчастіше зустрічається комбінація кількох рівнів, наприклад, Cloudflare Bot Management + reCAPTCHA v3.

Обхід rate limiting

import asyncio import random from aiohttp import ClientSession async def fetch_with_delay(session, url, semaphore): async with semaphore: await asyncio.sleep(2 + random.gauss(1, 0.5)) # нормальний розподіл async with session.get(url) as resp: return await resp.text() semaphore = asyncio.Semaphore(3) # максимум 3 одночасних запити 

Випадкові затримки з нормальним розподілом значно ефективніші за фіксовані: патерн ближчий до людського.

Stealth для Playwright

const { chromium } = require('playwright'); const { stealth } = require('playwright-stealth'); const browser = await chromium.launch({ args: [ '--disable-blink-features=AutomationControlled', '--no-sandbox', ] }); const context = await browser.newContext({ userAgent: getRandomUserAgent(), locale: 'ru-RU', timezoneId: 'Europe/Moscow', geolocation: { longitude: 37.6173, latitude: 55.7558 }, permissions: ['geolocation'], }); await stealth(context); 

playwright-stealth патчить більше 30 детектованих полів: navigator.webdriver, window.chrome, navigator.languages, canvas noise та інші. Використання stealth-режиму обов'язкове для сайтів із поведінковим аналізом.

Чому якість проксі критична для парсингу?

Захисти аналізують чистоту IP та його поведінку. Резидентні проксі (Bright Data, Oxylabs) — реальні IP домашніх користувачів, практично не блокуються. Мобільні проксі (4G/5G) мають високий trust score. Дата-центр IP (AWS, DigitalOcean) часто в чорних списках і не підходять для складних захистів. Для великих проєктів окупається використання резидентних IP — ціна помилки при блокуванні висока.

class ProxyRotator: def __init__(self, proxies: list): self.proxies = proxies self.stats = {p: {'success': 0, 'fail': 0} for p in proxies} def get_best_proxy(self): # вибираємо проксі з найбільшим відсотком успіху return max( self.proxies, key=lambda p: self.stats[p]['success'] / max(self.stats[p]['success'] + self.stats[p]['fail'], 1) ) def report_success(self, proxy): self.stats[proxy]['success'] += 1 def report_fail(self, proxy): self.stats[proxy]['fail'] += 1 

Як обійти CAPTCHA без ризику блокування?

Автоматичне рішення через сервіси: 2captcha, Anti-Captcha, CapSolver, NopeCHA. Для CAPTCHA v2/v3 використовуються токени від сервісів. Для reCAPTCHA v3 потрібен високий score, що досягається якісним профілем браузера. (Google reCAPTCHA documentation)

from twocaptcha import TwoCaptcha solver = TwoCaptcha(API_KEY) # reCAPTCHA v2 result = solver.recaptcha( sitekey='6LfXXXXXXXXXXXXXXXXXXXXX', url='https://example.com/page' ) token = result['code'] # вставляємо у форму 

Робота з куками та сесіями

Сесійні куки — важливий сигнал для захистів. Бот, який не накопичує куки через кілька сторінок, виглядає підозріло.

# Збереження та відновлення контексту Playwright await context.storage_state(path='session.json') # У наступному запуску context = await browser.new_context(storage_state='session.json') 

Для складних сайтів: спочатку «прогріваємо» сесію — відвідуємо головну, пару випадкових сторінок, імітуємо скрол — потім переходимо до цільових URL.

Виявлення зміни алгоритму захисту

Захисти оновлюють алгоритми. Потрібен моніторинг:

  • Трекінг HTTP-статусів: зростання 403/429/503 → тригер перевірки
  • Порівняння fingerprint-запитів (JavaScript, який завантажує DataDome)
  • Алерти при падінні відсотка успішних парсингів нижче порогу
Типові помилки при обході захисту
  • Використання однакового User-Agent для всіх запитів
  • Фіксовані затримки замість випадкових
  • Ігнорування кук та сесій
  • Використання дешевих дата-центр проксі для складних захистів
  • Відсутність моніторингу та реактивації при блокуванні

Що входить у нашу роботу

  • Аналіз цільового сайту та визначення типу захисту
  • Розробка та налаштування обходу (stealth, проксі, CAPTCHA)
  • Інтеграція з вашим парсером (API, SDK)
  • Моніторинг стабільності та автоматична адаптація
  • Документація та навчання вашої команди

Терміни

Базовий обхід rate limiting + stealth: 3–5 днів. Повна система з CAPTCHA-солвером, проксі-ротатором та моніторингом: 12–18 днів.

Зв'яжіться з нами для консультації — оцінимо ваш проєкт і запропонуємо оптимальне рішення.