Попросить LLM-агента типа Claude Code “сходи в интернет и собери мне данные” – это как играть в казино. Иногда везет, и ты получаешь то что искал. А иногда сжигаешь половину дневного лимита на двух сайтах, упираешься в антибот защиту и в итоге получаешь кашу из тегов вперемешку с куском нужного контента.
Любой, кто пробовал натравить LLM-агента на сайт, знает это чувство: даешь простую задачу – собери данные с такой-то страницы. Агент бодро рапортует, что работа кипит. Проходит минута, две, он пошел по соседним ссылкам, начал сам что-то искать, что-то быстро перебирает, и в итоге половину сайтов он не смог открыть, половина второй половины – это мусор и только крупица нужной информации.
В этой статье я предложу вам один способ, которым пользуюсь сам и который хорошо (почти всегда) решает эту проблему.
Что именно ломается
Claude Code отлично работает с кодом, файлами, терминалом – это его стихия, за это мы все его любим. Встроенный веб-поиск тоже работает, НО в основном только для простых статичных страниц. Стоит зайти на что-то с динамическим контентом, пагинацией или антибот защитой – тут его полномочия все.
У большинства крупных компаний: Ozon, Amazon, SimilarWeb, LinkedIn – у них у всех серьезная защита, потому что данные ценные, данные новая нефть (они не то что бота, они иногда живого человека через три капчи пропускают).
Поэтому агент в такой ситуации чаще всего получает либо пустую страницу, либо получает все-все содержимое вместе с мусором – оба варианта бесполезны и болезненны.
Стандартные подходы и их цена
Какие есть решения:
-
curl + ручной парсинг. Технически работает, а практически – тонны тегов, атрибутов, инлайн-стилей. Все это надо чистить перед отправкой в модель. Токены сгорают и нужный контент теряется в шуме. Для JS-тяжелых страниц вообще не вариант – curl не исполняет JavaScript и мы не получим никаких данных.
-
Playwright / Puppeteer. Серьезный подход, почти хакерский: headless браузер, ждем загрузку JS, вытаскиваем нужное – работает. Но это отдельный скрипт под каждый сайт. При таком сценарии агент тут уже не помощник, а просто среда выполнения. Если мы пишем на Playwright – нам агент-то вообще зачем?
-
ScraperAPI, Apify и аналоги. Полноценные платформы: прокси-пулы, обход защит, structured output. Но это отдельный стек, отдельная интеграция, и от $99/мес за нормальный план. Для промышленного скрапинга это ок и то что доктор прописал. А чтобы чисто агент просто нормально открывал сайты, очевидно, избыточно.
Прослойка между агентом и вебом
Концептуально задача простая: нужна штука, которая берет URL, открывает страницу как настоящий браузер (с JS, с обходом защит), выкидывает все лишнее и отдает агенту чистый текст: markdown или JSON – что-то, с чем модель может нормально работать, экономя нам денежки на парсинге мусора.
Один из инструментов, который делает именно это – Firecrawl. Его мы и рассмотрим сегодня и его помощь в работе с Claude Code. Проект позиционируется как “The Web Data API for AI”, и по существу это довольно точное описание. Он не единственный в своей нише (есть Jina Reader, есть r.jina.ai), но сейчас это один из наиболее зрелых и хайповых.
Что внутри
Принцип: даешь URL → получаешь чистый Markdown или структурированный JSON. Между “даешь” и “получаешь” Firecrawl рендерит JavaScript, обрабатывает динамический контент и чистит разметку от шума.
Проект активный и популярный – больше 110,000 звезд на гитхабе, что делает его крупнейшим опенсорс-репой в своей нише. Есть платная версия и Open Source. В чем разница?
Платная (firecrawl.dev):
-
Free: 500 кредитов разово (не в месяц), 2 параллельных запроса – это примерно 500 страниц. Чисто попробовать и понять а нужно ли оно.
-
Hobby: $16/мес (годовой биллинг) – 3 000 кредитов/мес, 5 параллельных запросов.
-
Standard: $83/мес (годовой биллинг) – 100 000 кредитов/мес, 50 параллельных запросов.
-
Growth: $333/мес – 500 000 кредитов для серьезных нагрузок и больших проектов.
-
Проприетарный обходчик антибот-защиты. Для меня это главное.
-
Agent-режим с моделями Spark 1 Mini/Pro, Interact для кликов и форм.
Open Source (github.com/firecrawl/firecrawl, лицензия AGPL-3.0):
-
Docker, бесплатно
-
Нет “fire engine” – это закрытая технология, поэтому antibot тут работать не будет.
-
Нет Agent и Interact
-
Для сайтов без агрессивной защиты (документация, блоги, новости) – рабочий вариант
-
AGPL-3.0 – если собираетесь в коммерческий продукт, внимательно читайте лицензию.
Для скрапинга сайтов с агрессивными anti-bot защитой – только платная версия. Self-hosted вариант на защищенных сайтах не работает, потому что обходчик защиты – проприетарный.
Чуть подробнее про кредиты, тут не все очевидно. Кредит это не “одна страница”. У разных операций (о них подробнее ниже) разная цена:
-
Scrape одной страницы – 1 кредит.
-
Crawl – 2 кредита за страницу.
-
Extract (структурированное извлечение через LLM) – 5 кредитов за страницу.
-
Agent – сильно больше, в зависимости от сложности задачи.
То есть если вы взяли Hobby за $16 с “3000 кредитов” в надежде скрапить 3000 страниц с извлечением, то реально вытащите 600. Типичный пайплайн “обойти сайт и извлечь структурированные данные”- это 2 + 5 = 7 кредитов на страницу. 500 страниц съедят почти весь месячный лимит Hobby – даже для хобби маловато.
Как подключить к Claude Code
Три способа по порядку удобства: плагин → MCP-сервер → CLI.
Плагин Claude Code (проще всего)
Firecrawl имеет официальный плагин для Claude Code. Это та же MCP-интеграция, но без ручной возни с конфигами:
/plugin install firecrawl@claude-plugins-official
Потом перезапустить Claude Code и настроить ключ:
/firecrawl:setup
Дальше появляются нативные slash-команды: /firecrawl:scrape, /firecrawl:crawl, /firecrawl:search, /firecrawl:map.
MCP-сервер (если хочется контроля)
Если плагин по какой-то причине не подходит – можно подключить MCP вручную. Просто попросите Claude:
Hey Claude, I want to connect to Firecrawl's MCP server.
Use command from docs.firecrawl.dev/mcp.
My API key is in .env
Клод настроит конфиг сам.
CLI + Skills
npx skills add firecrawl/cli
firecrawl login
При установке спросит: глобально или для проекта, для какого агента – выбираем Claude Code.
Два файла, которые стоит создать
.env — API-ключ:
FIRECRAWL_API_KEY=fc-ваш_ключ
CLAUDE.md – системный промпт проекта (можно опять же попросить Claude самому это добавить):
# Проект для сбора данных из веба
Для работы с сайтами используй Firecrawl MCP сервер.
Инструкции по инструментам — в firecrawl-cheatsheet.md
firecrawl-cheatsheet.md – опционально, но заметно улучшает качество решений. Подробнее ниже.
Восемь режимов работы
Режимы работы
|
Режим |
Суть |
Когда нужен |
|---|---|---|
|
Scrape |
Одна страница → Markdown/JSON |
Конкретный URL |
|
Batch Scrape |
Пачка URL параллельно |
Есть список страниц |
|
Crawl |
Обход сайта по ссылкам |
Нужен весь сайт или раздел |
|
Search |
Поиск + скрапинг результатов |
Найти и получить контент за один запрос |
|
Map |
Карта URL сайта |
Разведка перед crawl |
|
Extract |
Данные в JSON по схеме |
Цены, вакансии, контакты |
|
Agent |
Сам выбирает инструмент |
Сложная задача, неясно с чего начать |
|
Interact |
Chromium, клики, действия |
Пагинация, “Загрузить ещё”, формы |
Для большинства задач хватает Scrape + Extract. Agent – самый мощный и самый дорогой по кредитам инструмент. Interact используем для случаев когда обычный Scrape проигрывает сайту и не может победить динамику.
Три сценария
Дайджест новостей
Найди топ-5 новостей об ИИ за последние 24 часа.
Для каждой: заголовок, источник, 2-3 предложения пересказа, ссылка.
Сохрани в ai-news-date.md
Claude через Firecrawl Search находит новости, скрапит каждую страницу, суммаризирует. Ключевое – “сохрани в файл”. Если попросить вывести в чат, контекст забьется на третьей новости.
Встроенный веб-поиск тут выдал бы заголовки без контента или завис на защищенных изданиях. Разница в том, что у Firecrawl получается открывать страницы и вытаскивать данные, тогда как дефолтный поиск у Claude Code пасует в этих задачах.
Парсинг вакансий
Зайди на hh.ru, собери 50 вакансий Python-разработчика в Москве.
Для каждой: позиция, компания, зарплата (если есть), ссылка.
Оформи в CSV → jobs.csv
Interact сам пройдет пагинацию – нажмет “следующая страница” сколько нужно. Сейчас это примерно 5-10 минут ожидания.
Если Extract вернул пустоту – попросите Claude переключиться на Agent. Дороже по кредитам, но капризные страницы обычно побеждает.
Анализ конкурента
Скрапни competitor.com. Сначала карту разделов.
Потом для главной, /pricing и /features — резюме:
что продают, для кого, основные тезисы.
Сохрани в competitor-analysis.md
Map покажет структуру, Scrape вытащит страницы. Дальше Claude сам разберется (наверное). Через обычный браузерный запрос многие аналитические сайты ботов не пускают – через Firecrawl все получится.
Паттерны, которые сэкономят (и не только нервы)
Всегда сохраняйте в файл, не в чат. Если скрапите больше 2-3 страниц, то пусть Claude пишет результаты в .md файлы. Потом он сам читает нужные фрагменты и контекстное окно живет дольше, ответы точнее, нет эффекта “забыл начало разговора”.
firecrawl-cheatsheet.md – создайте и не пожалеете. Простая таблица “задача → инструмент”:
## Когда какой инструмент Firecrawl использовать
- Одна страница, статика → scrape
- Несколько страниц по известным URL → scrape каждую
- Неизвестная структура сайта → map, потом crawl нужных разделов
- Нужны данные в JSON (цены, товары) → extract
- Пагинация, кнопки "Загрузить ещё" → interact
- Сложная задача, непонятно с чего начать → agent
- extract вернул пустоту → попробовать agent
Добавьте ссылку на файл в CLAUDE.md. Клод будет читать его перед принятием решений, из-за чего заметно растет качество .
Используйте JSON-формат вместо markdown, когда нужны конкретные поля. Markdown льет в контекст всю страницу, а Extract с JSON-схемой вытащит только нужное, что сэкономит и кредиты, и токены.
Agent как fallback. Если Scrape или Extract не справились – не копайтесь в причинах, скажите Claude попробовать через Agent – это режим “разберись сам”. Медленнее, дороже, но обычно вытаскивает все что мы попросили.
А что с альтернативами?
Firecrawl, как я говорил в самом начале, не единственный инструмент в нише. Вот короткий ориентир, когда имеет смысл смотреть в другую сторону:
-
Jina Reader (r.jina.ai) – дешевле и проще. Просто префиксите URL и получаете Markdown. Он хуже с защищенными сайтами и нет Agent-режима, но для блогов и документации часто хватает.
-
Crawl4AI – полностью открытая библиотека, Python-first: хорош для тех, кто готов писать код и держать инфраструктуру.
-
ScraperAPI, Apify – промышленный скрапинг с прокси и антибот-инфрой. Дороже, сложнее, но для регулярного большого объема данных он лучше.
Firecrawl хорош тем, что попадает в золотую середину: минимальная настройка + нативная MCP-интеграция + рабочий обходчик защит. Именно поэтому он так зашел в экосистеме AI-агентов.
Минусы и ограничения
-
500 бесплатных кредитов – это разовая акция. К сожалению. Это примерно 500 страниц – попробовать хватит, для регулярной работы конечно нет. Чисто подсадить на иглу.
-
2 параллельных запроса на бесплатном плане. Большой сайт будет обрабатываться медленно
-
Self-hosted без главного козыря. “Fire engine” – проприетарная технология. Без нее защищённые сайты не работают. Если берете опенсорс учитывайте это
-
Agent и Browser Interact – тоже только платная версия. Это уже не так больно, но все равно хотелось бы.
-
Расход кредитов неравномерный. Scrape- ~1 кредит/страница. Agent сильно больше в зависимости от сложности. Следите за балансом
-
Это не единственный инструмент. Jina Reader, Crawl4AI, другие решения существуют: Firecrawl не серебряная пуля, это один из вариантов, который сейчас работает достаточно хорошо.
-
AGPL-3.0 у open-source версии. Для встраивания в проприетарный продукт читайте условия внимательно.
-
Даже на платной версии, и даже в режиме Agent – все равно нет гарантии 100% результата.
Итог
Проблема “агент не умеет в веб” реальная и никуда не денется, пока сайты динамические, а модели работают с текстом. Поэтому нужна прослойка, которая конвертирует одно в другое.
Firecrawl – это один из рабочих вариантов такой прослойки: не единственный и не идеальный. Но если вы используете Claude Code и хоть иногда просите его что-то найти или собрать из веба – 15 минут на настройку Firecrawl (или аналога) окупятся быстро (особенно если open source заюзаете). А бесплатного плана хватит, чтобы понять, нужно ли вам это вообще.
Ссылки
-
firecrawl.dev – сайт, документация, тарифы
-
github.com/firecrawl/firecrawl – open source версия
-
docs.firecrawl.dev – документация, примеры, инструкция по MCP
-
github.com/firecrawl/firecrawl-claude-plugin – официальный плагин для Claude Code
Надеюсь тебе понравилось. Лучшая благодарность – это твоя подписка на мой Telegram-канал 😊
Автор: ab429


