Перейти к содержимому

Site Crawl -- краулинг и извлечение данных с веб-страниц

Процессор Site Crawl выполняет краулинг веб-страниц и извлечение структурированных данных из их содержимого. Он использует сервис Firecrawl для получения контента страниц и может работать в двух режимах: обработка текста через ИИ (GPT) или прямой поиск в HTML-коде страницы.

Процессор поддерживает динамические URL с переменными из цепочки данных, что позволяет автоматически подставлять данные из предыдущих процессоров (например, URL сайтов компаний из результатов поиска).

  • Извлечение контактных данных (email, телефон, адрес) с сайтов компаний, найденных через Yandex Search или Registry Search
  • Парсинг прайс-листов и каталогов продукции с сайтов поставщиков
  • Сбор описаний компаний и их услуг для анализа конкурентов
  • Мониторинг изменений на целевых страницах
  • Извлечение структурированных данных из карточек товаров на маркетплейсах
  • Поиск конкретных фрагментов в HTML-коде страниц (номера лицензий, идентификаторы, скрытые поля)
ПараметрТипОбязательныйПо умолчаниюОписание
urlstringДаURL страницы для обработки. Поддерживает переменные: https://{{registrySearch.website}}
searchMode"text" / "html"Нет"text"Режим обработки: text — извлечение через ИИ, html — поиск в коде страницы
promptstringНетПромпт для ИИ-обработки (режим text). Поддерживает переменную {{pageContent}}
outputFormatobjectНетСхема структурированных выходных данных для режима text
outputFormat.type"structured"НетТип формата вывода
outputFormat.schemaobjectНетJSON Schema для структурирования результатов ИИ
searchExpressionsarrayУсловноМассив выражений для поиска в HTML (обязателен для режима html)
searchExpressions[].namestringДаИмя переменной для результата (например, searchResult)
searchExpressions[].patternstringДаСтрока или регулярное выражение для поиска
searchExpressions[].useRegexbooleanДаИспользовать ли регулярные выражения
searchExpressions[].descriptionstringНетОписание выражения для документирования
maxDepthnumberНет1Глубина обхода ссылок на странице
maxPagesnumberНет5Максимальное количество страниц для обработки
maxPacketsnumberНет100Максимальное количество входных пакетов для обработки за один запуск

Процессор принимает DataPackets от родительских процессоров. Из цепочки данных (chainData) используются переменные для подстановки в URL и промпт.

Типичные источники:

  • Yandex Search — URL сайтов из результатов поиска
  • Registry Search — URL сайтов компаний из реестровых данных
  • File Upload — список URL из загруженного файла

Пример переменных в URL: https://{{yandexSearch.url}}/contacts

Структура выходных DataPackets зависит от режима работы:

Выходной пакет содержит структурированные данные согласно заданной JSON Schema в outputFormat.schema. Например:

{
"companyName": "ООО Рога и Копыта",
"email": "info@example.com",
"phone": "+7 (495) 123-45-67",
"address": "г. Москва, ул. Ленина, д. 1",
"description": "Производство и продажа..."
}

Выходной пакет содержит результаты поиска по заданным выражениям:

{
"searchResult": "найденный фрагмент",
"searchResult2": "другой найденный фрагмент"
}
{
"url": "https://example.com",
"searchMode": "text",
"processingTime": 2500
}

Стоимость зависит от режима работы:

  • Режим text: расходуются токены на вызов Firecrawl API (скрейпинг страницы) и на обработку через GPT-модель. Стоимость GPT зависит от объема контента страницы и выбранной модели (по умолчанию gpt-4o-mini).
  • Режим html: расходуются токены только на вызов Firecrawl API. Обработка регулярными выражениями бесплатна.

Параллельная обработка (до 3 потоков по умолчанию) ускоряет работу, но не влияет на стоимость.

Извлечение контактов с сайтов компаний (режим text)

Заголовок раздела «Извлечение контактов с сайтов компаний (режим text)»
{
"url": "https://{{registrySearch.website}}/contacts",
"searchMode": "text",
"prompt": "Извлеки контактную информацию компании из содержимого страницы: {{pageContent}}",
"outputFormat": {
"type": "structured",
"schema": {
"type": "object",
"properties": {
"email": { "type": "string" },
"phone": { "type": "string" },
"address": { "type": "string" }
}
}
},
"maxPages": 5,
"maxPackets": 50
}
{
"url": "https://{{companyInfo.website}}/about",
"searchMode": "html",
"searchExpressions": [
{
"name": "licenseNumber",
"pattern": "\\d{2}\\.\\d{2}\\.\\d{4}/\\d+",
"useRegex": true,
"description": "Номер лицензии в формате XX.XX.XXXX/NNNN"
}
],
"maxPackets": 100
}

Если входные процессоры не подключены, но указан URL в конфигурации, процессор обработает его как единичный запрос:

{
"url": "https://example.com/catalog",
"searchMode": "text",
"prompt": "Извлеки список товаров из каталога: {{pageContent}}",
"outputFormat": {
"type": "structured",
"schema": {
"type": "object",
"properties": {
"products": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": { "type": "string" },
"price": { "type": "number" }
}
}
}
}
}
},
"maxPages": 10
}
  • Yandex Search — часто используется перед Site Crawl для получения URL сайтов по поисковым запросам
  • Registry Search — предоставляет URL сайтов компаний из реестровых данных
  • GPT Filter — может использоваться после Site Crawl для дополнительной фильтрации и классификации извлеченных данных
  • AI Search — альтернативный способ получения информации из интернет-источников
  • File Upload — позволяет загрузить список URL для массовой обработки через Site Crawl