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

Yandex Search - Поиск через Yandex API

Процессор Yandex Search выполняет веб-поиск через Yandex Cloud Search API и создает структурированные DataPackets для каждого найденного документа. Поддерживает множественные поисковые запросы, мульти-региональный поиск, пагинацию и гибкие режимы дедупликации результатов.

Процессор может быть первым в pipeline — ему не требуются входные данные от других процессоров. При наличии входных процессоров поддерживает подстановку переменных в поисковых запросах.

Ключевые возможности:

  • Множественные запросы — несколько поисковых строк обрабатываются последовательно.
  • Мульти-региональный поиск — один запрос может выполняться по нескольким регионам Yandex.
  • Пагинация — получение нескольких страниц выдачи для каждого запроса.
  • Дедупликация — три режима сохранения: все результаты, уникальные URL или уникальные домены.
  • Батчевое создание пакетов — эффективное создание большого количества DataPackets.
  • Сбор URL для парсинга — получение списка страниц по поисковому запросу для последующей обработки через site-crawl.
  • Мониторинг упоминаний — поиск упоминаний компании, бренда или продукта в интернете.
  • Конкурентный анализ — сбор данных о конкурентах из поисковой выдачи.
  • Генерация лидов — поиск компаний определенной отрасли в конкретном регионе.
  • Первый шаг pipeline — начальная точка для сложных цепочек обработки данных.
ПараметрТипОбязательныйПо умолчаниюОписание
searchQueriesstring[]ДаМассив поисковых строк. Каждая строка поддерживает переменные {{processorName.field}}.
searchTypestringНетSEARCH_TYPE_RUТип поиска (см. таблицу ниже).
regionsnumber[]Нет[225]Массив ID регионов Yandex (225 = Россия).
maxPagesnumberНет1Количество страниц выдачи для каждого запроса (1-100).
maxPacketsnumberНет1Максимальное количество входных пакетов для обработки (при наличии входных процессоров).
saveModestringНетunique_urlsРежим сохранения результатов (см. таблицу ниже).
batchSizenumberНет100Размер батча при создании DataPackets. Влияет на скорость записи в базу данных.
debugModebooleanНетfalseПодробное логирование конфигурации и промежуточных данных.
ЗначениеОписание
SEARCH_TYPE_RUРусскоязычный поиск (по умолчанию)
SEARCH_TYPE_COMМеждународный (англоязычный) поиск
SEARCH_TYPE_TRПоиск на турецком языке
SEARCH_TYPE_KKПоиск на казахском языке
SEARCH_TYPE_BEПоиск на белорусском языке
SEARCH_TYPE_UZПоиск на узбекском языке
ЗначениеОписание
save_allСохранять все найденные результаты, включая дубликаты URL и доменов.
unique_urlsНе сохранять результаты с повторяющимися URL (по умолчанию). Учитываются URL, уже сохраненные в предыдущих запусках.
unique_domainsНе сохранять результаты с повторяющимися доменами. Из каждого домена сохраняется только первый найденный URL.
IDРегион
225Россия (вся страна)
1Москва и область
2Санкт-Петербург и область
11070Новосибирск
54Екатеринбург
43Казань

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

Подстановка работает через систему chainData: для первого необработанного пакета строится цепочка данных от всех предшествующих процессоров, и переменные в searchQueries заменяются соответствующими значениями.

Для каждого найденного документа в поисковой выдаче создается отдельный DataPacket:

ПолеТипОписание
docIdstringУникальный идентификатор документа в Yandex
urlstringURL найденной страницы
domainstringДомен сайта
titlestringЗаголовок страницы
passagesstring[]Массив текстовых фрагментов (сниппетов). Включает headline (если есть) и passage из выдачи.
mime-typestringMIME-тип документа (например, text/html)
saved-copy-urlstringURL сохраненной копии в кеше Yandex
modtimestringДата последней модификации документа (если доступна)

Метаданные пакета:

  • sourceQuery: исходный поисковый запрос (до подстановки переменных)
  • pageNumber: номер страницы выдачи
  • searchType: тип поиска
  • region: ID региона
  • documentType: "search-result" или "stub-result" (заглушка)

Общее количество пакетов зависит от формулы:

Пакеты = Кол-во регионов * Кол-во запросов * Кол-во страниц * ~10 результатов на страницу

Пример: 1 регион, 3 запроса, 5 страниц = до 150 DataPackets (при ~10 результатах на страницу).

ОперацияКодОписание
Yandex API вызовyandexСписывается за каждый успешный запрос к Yandex Search API. Один запрос = один регион + один поисковый запрос + одна страница.

Стоимость в токенах определяется таблицей bg_prices. При ошибке API (timeout, rate limit) токены не списываются.

Формула для оценки количества API вызовов:

API вызовы = Кол-во регионов * Кол-во запросов * maxPages

Пример: 2 региона, 5 запросов, 3 страницы = 30 API вызовов.

searchQueries:
- "производство пластиковых окон Москва"
- "оконный завод Московская область"
searchType: SEARCH_TYPE_RU
regions: [1]
maxPages: 5
saveMode: unique_domains
batchSize: 50

Результат: до 100 уникальных доменов компаний-производителей окон в Москве.

searchQueries:
- "IT-компании разработка ПО"
searchType: SEARCH_TYPE_RU
regions: [1, 2, 54, 43]
maxPages: 3
saveMode: unique_domains

Поиск IT-компаний в Москве, Санкт-Петербурге, Екатеринбурге и Казани.

Поиск с переменными из предыдущего процессора

Заголовок раздела «Поиск с переменными из предыдущего процессора»
searchQueries:
- "{{data-source.companyName}} ИНН контакты"
- "{{data-source.companyName}} сайт"
searchType: SEARCH_TYPE_RU
regions: [225]
maxPages: 2
maxPackets: 50
saveMode: unique_urls
searchQueries:
- "строительные компании тендеры site:zakupki.gov.ru"
searchType: SEARCH_TYPE_RU
regions: [225]
maxPages: 10
saveMode: save_all
batchSize: 200
ПроцессорСвязьОписание
site-crawlПоследующийПарсинг найденных URL для извлечения содержимого страниц
gpt-filterПоследующийАнализ и фильтрация результатов поиска через GPT (классификация, извлечение данных)
inn-searchПоследующийПоиск ИНН по найденным доменам и названиям компаний
ai-searchАльтернативаAI-поиск с встроенным анализом (проще, но менее гибко)