Crawl4AI — краулер, который решает проблему 5000 символов

А вы знали, что стандартная функция web_extract в Гермесе, которая предназначена для извлечения контента с веб-страницы, режет всё после 5000 символов, и вместо полной информации страница даёт саммари, из-за чего теряются детали? Когда ИИ-агент ищет материал для статьи, он часто получает обрывки вместо полного текста — и либо упускает важные факты, либо галлюцинирует и пишет догадки.

web_extract — встроенный инструмент для извлечения контента с веб-страницы

web_extract — это функция в Hermes, которая по URL загружает страницу и возвращает её содержимое. Она удобная, быстрая, но с жёстким лимитом:

Размер страницы

Что происходит

До 5000 символов

Возвращается как есть

5000 — 500 000

Саммари через LLM, обрезано до ~5000

500К — 2М

Чанками, параллельно, итог ~5000

Больше 2М

Отказ

Для коротких страниц web_extract работает отлично. Но для серьёзной работы — когда нужна полная документация API или статья на 15 000 слов — саммари убивает детали. Таблицы параметров, примеры кода, аргументы и выводы — всё это теряется, и вместо полной картины агент получает выжимку, в которой не хватает ключевых фактов.

Что такое Crawl4AI

Crawl4AI решает эту проблему. Это open-source Python-краулер с 70 500+ звёздами на GitHub. Он позволяет ИИ-агенту заходить на сайт через настоящий браузер и вытягивать весь контент в чистом markdown — без лимита, без саммари, без потери деталей.

Запускается одной командой:

docker run -d --name crawl4ai --restart unless-stopped -p 8080:8080 unclecode/crawl4ai:latest

Принцип работы простой: даёшь URL, и Crawl4AI открывает страницу в настоящем браузере, дожидается загрузки всех скриптов и стилей, и возвращает чистый markdown со всем содержимым. Без лимитов, без саммари, без потери данных.

Что умеет

  • JS-heavy страницы — сайты на React, Vue, Angular и других фреймворках, где контент подгружается скриптами после загрузки страницы. Обычный HTTP-запрос получает пустой каркас, а Crawl4AI видит то же, что видит пользователь в браузере
  • Deep crawl — обходит весь сайт по ссылкам с разными стратегиями: BFS (обход в ширину) для полноты карты сайта, DFS (обход в глубину) для детального исследования конкретного раздела, Best-First для целевого сбора по релевантности. Выбираешь стратегию под задачу: BFS — когда нужен весь сайт, DFS — когда копаешь глубоко в одну тему, Best-First — когда важны только определённые страницы
  • Структурированная выгрузка — извлечение данных не сплошным текстом, а по конкретным селекторам. Указываешь CSS/XPath-селектор или JSON-схему — и получаешь структурированные данные: цены с карточек товаров, заголовки с новостной ленты, профили пользователей. Не нужно парсить markdown руками — Crawl4AI выдаёт готовый JSON с нужными полями
  • Multi-URL crawling — можно скормить список из десятков URL, и Crawl4AI обработает их параллельно с контролем concurrency. Вместо того чтобы по очереди ждать каждый сайт, агент отправляет пачку URL и получает все результаты разом. Это экономит время на масштабном ресёрче, когда нужно собрать данные с 20-30 страниц
  • Virtual scroll — прокрутка бесконечных лент в Twitter, Reddit, Instagram. Эти платформы подгружают контент при скролле, и обычный краулер видит только первые 10-20 постов. Crawl4AI автоматически прокручивает страницу вниз и собирает весь контент, который подгрузился
  • PDF-парсинг — вытягивает текст из PDF-документов. Когда ресёрч ведёт к PDF-отчёту или научной статье, не нужно искать отдельный инструмент — Crawl4AI обработает и такой формат
  • Anti-bot и Undetected-режимы — обходит защиту от автоматических запросов. Cloudflare, Datadome, PerimeterX — сайты с такими системами блокируют обычные HTTP-запросы, но Crawl4AI использует реальный браузер, который выглядит как обычный пользователь
  • Cache-режимы — запоминает уже загруженные страницы и не запрашивает их повторно. При повторном обходе того же сайта Crawl4AI отдаёт кешированную версию, что экономит время и ресурсы

Чем отличается от базовых функций

Критерий

web_extract (Hermes)

Crawl4AI

Лимит

5000 символов, дальше саммари

Без лимита, весь контент

JS-страницы

Только HTML

Полноценный браузер (Chrome)

Deep crawl

Один URL

BFS, DFS, Best-First стратегии

Извлечение данных

Только текст

CSS/XPath, JSON-схемы, regex

Multi-URL

Нет

arun_many() с параллелизмом

Формат

Урезанный markdown

Полный markdown + структура

Где работает

Встроен в агент

Отдельный Docker-контейнер

Скорость

Быстро (HTTP-запрос)

Медленнее (запускает браузер)

Примеры использования

Иногда ИИ-агенту нужно изучить API нового сервиса. В случае использования web_extract он получит 5000 символов summary — общие слова без деталей эндпоинтов. Crawl4AI вытянет всю страницу документации: примеры кода, таблицы параметров, описания ответов. Это позволит агенту чётче выполнить задачу, не придумывая и не додумывая функции.

Агент нашёл статью на 15 000 слов с разбором архитектуры нового фреймворка. web_extract режет после 5000 и выдаёт саммари «статья рассказывает о...». Crawl4AI отдаёт полный текст: все аргументы, цитаты, ссылки на источники и выводы. На следующем шаге копирайтер получит полную картину для построения инсайта, а не обрубок статьи, в котором он сам придумает концовку.

Как встроить в работу

Для поиска нужно добавить сервис SearXNG, и тогда получится, что сначала агент находит релевантные страницы через поиск SearXNG. Если страница короткая — достаточно встроенного web_extract. А если страница длинная, JS-heavy (SPA, React), или нужно пройти по всем ссылкам на сайте — подключается Crawl4AI и вытягивает полный контент.