Промислові захисти від парсингу — 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 днів.
Зв'яжіться з нами для консультації — оцінимо ваш проєкт і запропонуємо оптимальне рішення.







