Site Crawl -- краулинг и извлечение данных с веб-страниц
Описание
Заголовок раздела «Описание»Процессор Site Crawl выполняет краулинг веб-страниц и извлечение структурированных данных из их содержимого. Он использует сервис Firecrawl для получения контента страниц и может работать в двух режимах: обработка текста через ИИ (GPT) или прямой поиск в HTML-коде страницы.
Процессор поддерживает динамические URL с переменными из цепочки данных, что позволяет автоматически подставлять данные из предыдущих процессоров (например, URL сайтов компаний из результатов поиска).
Сценарии использования
Заголовок раздела «Сценарии использования»- Извлечение контактных данных (email, телефон, адрес) с сайтов компаний, найденных через Yandex Search или Registry Search
- Парсинг прайс-листов и каталогов продукции с сайтов поставщиков
- Сбор описаний компаний и их услуг для анализа конкурентов
- Мониторинг изменений на целевых страницах
- Извлечение структурированных данных из карточек товаров на маркетплейсах
- Поиск конкретных фрагментов в HTML-коде страниц (номера лицензий, идентификаторы, скрытые поля)
Конфигурация
Заголовок раздела «Конфигурация»| Параметр | Тип | Обязательный | По умолчанию | Описание |
|---|---|---|---|---|
| url | string | Да | — | URL страницы для обработки. Поддерживает переменные: https://{{registrySearch.website}} |
| searchMode | "text" / "html" | Нет | "text" | Режим обработки: text — извлечение через ИИ, html — поиск в коде страницы |
| prompt | string | Нет | — | Промпт для ИИ-обработки (режим text). Поддерживает переменную {{pageContent}} |
| outputFormat | object | Нет | — | Схема структурированных выходных данных для режима text |
| outputFormat.type | "structured" | Нет | — | Тип формата вывода |
| outputFormat.schema | object | Нет | — | JSON Schema для структурирования результатов ИИ |
| searchExpressions | array | Условно | — | Массив выражений для поиска в HTML (обязателен для режима html) |
| searchExpressions[].name | string | Да | — | Имя переменной для результата (например, searchResult) |
| searchExpressions[].pattern | string | Да | — | Строка или регулярное выражение для поиска |
| searchExpressions[].useRegex | boolean | Да | — | Использовать ли регулярные выражения |
| searchExpressions[].description | string | Нет | — | Описание выражения для документирования |
| maxDepth | number | Нет | 1 | Глубина обхода ссылок на странице |
| maxPages | number | Нет | 5 | Максимальное количество страниц для обработки |
| maxPackets | number | Нет | 100 | Максимальное количество входных пакетов для обработки за один запуск |
Входные данные
Заголовок раздела «Входные данные»Процессор принимает DataPackets от родительских процессоров. Из цепочки данных (chainData) используются переменные для подстановки в URL и промпт.
Типичные источники:
- Yandex Search — URL сайтов из результатов поиска
- Registry Search — URL сайтов компаний из реестровых данных
- File Upload — список URL из загруженного файла
Пример переменных в URL: https://{{yandexSearch.url}}/contacts
Выходные данные
Заголовок раздела «Выходные данные»Структура выходных DataPackets зависит от режима работы:
Режим text (ИИ-обработка)
Заголовок раздела «Режим text (ИИ-обработка)»Выходной пакет содержит структурированные данные согласно заданной JSON Schema в outputFormat.schema. Например:
{ "companyName": "ООО Рога и Копыта", "email": "info@example.com", "phone": "+7 (495) 123-45-67", "address": "г. Москва, ул. Ленина, д. 1", "description": "Производство и продажа..."}Режим html (поиск в коде)
Заголовок раздела «Режим html (поиск в коде)»Выходной пакет содержит результаты поиска по заданным выражениям:
{ "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}Поиск номера лицензии в HTML (режим html)
Заголовок раздела «Поиск номера лицензии в HTML (режим html)»{ "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}Standalone-режим (без входных процессоров)
Заголовок раздела «Standalone-режим (без входных процессоров)»Если входные процессоры не подключены, но указан 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