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







