About Portfolio Services Blog Contact 🎙 Talk to AI
EN DE RU
🎙 Talk to AI
June 7, 2026 · 3 min read

AI-агенты для ресерча: как обойти Cloudflare и капчи при сборе данных из интернета

Я — Denis Shokhirev, Enterprise AI architect из Эрлангена, Германия. В DennisCraft AI Studio за последние полгода я внедрил 14 production AI-агентов для B2B-клиентов из DACH, включая логистику и финтех. Каждый раз, когда агенту нужно собрать данные с сайтов, защищённых Cloudflare и капчей, начинается борьба не с ML, а с инфраструктурой защиты сайтов. Почему Cloudflare и капчи — головная боль для AI-агентов Сбор публичных данных для ресерча — стандартная задача: мониторинг цен, отслеживание из

Denis Shokhirev
Denis Shokhirev
Enterprise AI Architect
Telegram LinkedIn

Я — Denis Shokhirev, Enterprise AI architect из Эрлангена, Германия. В DennisCraft AI Studio за последние полгода я внедрил 14 production AI-агентов для B2B-клиентов из DACH, включая логистику и финтех. Каждый раз, когда агенту нужно собрать данные с сайтов, защищённых Cloudflare и капчей, начинается борьба не с ML, а с инфраструктурой защиты сайтов.

Почему Cloudflare и капчи — головная боль для AI-агентов

Сбор публичных данных для ресерча — стандартная задача: мониторинг цен, отслеживание изменений на сайтах, сбор контактных данных для B2B. Но уже на этапе парсинга даже открытых ресурсов агент сталкивается с Cloudflare, reCAPTCHA, hCaptcha. По моему опыту, более 60% востребованных сайтов в DACH регионе используют Cloudflare или аналогичные антибот-системы (по данным BuiltWith, 2023: ссылка).

Стандартные библиотеки вроде requests, Selenium или Puppeteer быстро попадают в блок-листы по поведению. Даже смена User-Agent и прокси не спасает. Поэтому приходится строить production-grade обходные схемы.

Архитектура обхода: как я выстраиваю пайплайн

1. Разделение ролей между агентами

В NextGen Pathways (мой патентованный агентный стек) я всегда выношу web-scraping в отдельный сервис. Агент-исследователь формирует задания, но не тянет данные напрямую — этим занимается специализированный worker, заточенный под обход антибот-защиты.

2. Использование реальных браузеров в headless-режиме

Cloudflare и капчи сейчас фокусируются на анализе поведения браузера. Поэтому основной инструмент — запуск реального Chrome или Firefox в headless-режиме через Puppeteer.


from pyppeteer import launch

async def fetch_with_browser(url):
    browser = await launch(headless=True, args=['--no-sandbox'])
    page = await browser.newPage()
    await page.goto(url, {'waitUntil': 'networkidle2', 'timeout': 30000})
    content = await page.content()
    await browser.close()
    return content

Pyppeteer (Python-обёртка над Puppeteer) позволяет симулировать поведение настоящего пользователя, включая скрипты, cookies и даже скроллинг.

3. Прокси + IP-ротация

Без ротации IP теперь почти невозможно пройти даже лёгкие фильтры. На практике использую платные residential прокси (например, Bright Data, Smartproxy), так как датацентр-прокси Cloudflare банит мгновенно.

ПровайдерТип проксиЦена (2024)Успешность обхода Cloudflare
Bright DataResidential$15/GBВысокая
SmartproxyResidential$13/GBВысокая
ProxyRackData Center$4/GBНизкая

4. Борьба с капчами

Если сайт требует прохождения reCAPTCHA, есть только два варианта: ручной ввод или сторонние антикапча-сервисы (например, 2Captcha, Anti-Captcha). Важно: для production-систем DACH использовать такие сервисы — серая зона по GDPR, так как данные утекают на внешние серверы.

В большинстве случаев я строю пайплайн так, чтобы при обнаружении капчи агент переходил к следующему ресурсу, а не пытался ломать защиту (fail gracefully). Но если источник критичен, используем решение через 2Captcha API:


import requests

def solve_captcha(api_key, site_key, url):
    s = requests.Session()
    # Отправляем задание на решение капчи
    resp = s.post("http://2captcha.com/in.php", data={
        'key': api_key,
        'method': 'userrecaptcha',
        'googlekey': site_key,
        'pageurl': url
    })
    captcha_id = resp.text.split('|')[1]
    # Получаем ответ (обычно 15-60 сек)
    for _ in range(20):
        r = s.get(f"http://2captcha.com/res.php?key={api_key}&action=get&id={captcha_id}")
        if r.text == 'CAPCHA_NOT_READY':
            time.sleep(5)
        else:
            return r.text.split('|')[1]

Но повторюсь: если проект под GDPR, всегда оцениваю риски передачи данных третьим лицам.

Интеграция с AI-агентами: автоматизация, очереди, контроль ошибок

1. Очереди задач и idempotency

Для управления заданиями по сбору данных использую Supabase (Postgres + queue). Каждый агент пишет задания в очередь; worker обрабатывает их и пишет результат обратно. Это позволяет избегать дублирования и чётко отслеживать ошибки по каждому запросу.


// TypeScript: постановка задачи в очередь Supabase
import { createClient } from '@supabase/supabase-js'

const supabase = createClient('https://project.supabase.co', 'public-anon-key')
await supabase
  .from('scrape_jobs')
  .insert([
    { url: 'https://site.com/data', status: 'pending', agent_id: 42 }
  ])

2. Контроль ошибок и fallback-стратегии

Если Cloudflare заблокировал IP, агент автоматически помечает задачу как "blocked" и пробует другой прокси. Если капча не решается за 60 секунд, задача уходит в "failed". Все ошибки логирую в отдельную таблицу для последующего анализа.

Тип ошибкиДействие агента
403 ForbiddenСменить прокси, повторить попытку
reCAPTCHAПопробовать 2Captcha, иначе skip
TimeoutУвеличить таймаут, либо skip

3. Безопасность: как не попасть под блокировку аккаунта

Если использовать один и тот же fingerprint браузера или куки, Cloudflare быстро вычисляет бота. В Pyppeteer можно кастомизировать параметры запуска, менять User-Agent и даже эмулировать человеческие действия (mouse move, scroll). Для критичных задач дополнительно внедряю задержки между действиями (random sleep 1-3 сек), чтобы не выбиваться из паттерна человеческой активности.

Часто задаваемые вопросы

Законно ли обходить Cloudflare и капчи для сбора данных?

В большинстве юрисдикций сам парсинг публичных данных легален, если не нарушает ToS сайта и не собирает персональные данные. Но обход защиты может трактоваться как неэтичное поведение. Я всегда проверяю локальные законы и консультируюсь с юристом.

Какой язык лучше для скрапинга под Cloudflare?

Python + Pyppeteer или Playwright — оптимальный вариант по гибкости и поддержке плагинов. На Node.js есть n8n для оркестрации, но сам парсер лучше держать на Python.

Можно ли полностью автоматизировать обход капч?

Нет. Если капча сложная (например, с распознаванием объектов), даже антикапча-сервисы часто ошибаются. В таких случаях лучше искать другие источники данных или просить ручной ввод.

Насколько опасно использовать сторонние антикапча-сервисы для GDPR-проектов?

Высокий риск утечки данных и несоответствия требованиям GDPR, так как сервисы могут находиться вне ЕС и не гарантируют безопасность передачи. Я стараюсь минимизировать их использование или полностью отказаться в чувствительных проектах.

Какие метрики использовать для контроля эффективности обхода?

Я считаю процент успешных загрузок, среднее время обхода защиты, количество ошибок по типам (403, капча, таймауты). Эти данные позволяют оперативно менять стратегию обхода.

В вашей практике, какой способ обхода Cloudflare оказался самым стабильным: headless-режим с реальным браузером, прокси-ротация или комплексная стратегия? Мне важно мнение тех, кто внедряет это в проде. Я провожу бесплатный 30-мин аудит стека для DACH-компаний, строящих AI под регуляцию. Пишите в LinkedIn или @ger_dennis_ai.

Ready to build?

Turn your process into an AI system

Fixed price. Production quality. DACH B2B focus.

Start a project → ← All articles