Сбор контента сайта: карта адресов и чтение страниц

Команды, которым нужен корпус документов: мониторинг, аналитика, обучение

Чтобы прочитать сайт, его сначала нужно перечислить. Перечислять раздел вручную бессмысленно: карты сайта содержат все адреса, но разбирать их самому - отдельная работа с вложенными индексами и относительными ссылками.

Обновлено 27 сентября 2026

Что мешает сейчас

  • Адреса разбросаны по вложенным картам сайта, а часть сайтов карт не отдаёт вовсе.
  • Нужны только разделы по теме, но фильтровать приходится после загрузки всего сайта.
  • Половина страниц не читается, и непонятно, почему: контент за скриптом, отказ доступа или страницы правда нет.
  • За отказ доступа списывают деньги, потому что вызов формально выполнился.

Как это делается

  1. 01

    Постройте карту адресов

    map читает robots.txt, затем /sitemap.xml и /sitemap_index.xml вместе с вложенными картами - до восьми за вызов. Если карт нет, берёт ссылки со стартовой страницы. В ответе pages, sections с числом адресов в каждом разделе и source, откуда взялись адреса.

  2. 02

    Сузьте выборку

    search фильтрует по адресу, selectPaths и excludePaths - до десяти подстрок по адресам, includeSubdomains добавляет поддомены. Если у нужных страниц нет общего фрагмента пути, задайте задачу словами в intent - адреса упорядочатся по смыслу. Так вместо всего сайта в работу идёт нужный раздел.

  3. 03

    Прочитайте найденное

    crawl берёт карту и читает найденные страницы: адрес, заголовок и до 20 000 символов текста. Страницы, которые не прочитались, попадают в skipped с причиной - и не тарифицируются.

  4. 04

    Разберитесь с отказами

    Сайт, ответивший отказом доступа, не тарифицируется: это outcome blocked, а не «страниц нет». Разница важна, когда вы принимаете решение по объёму корпуса.

Инструменты в этом сценарии

mapcrawlread_urls

Что на выходе: На выходе - корпус страниц в Markdown, готовый к индексации, плюс явный список того, что прочитать не удалось и почему.

Дальше по теме

Осталось непонятное?

срезAI - не универсальный поиск: у него есть задачи, под которые он не подходит, и мы говорим об этом прямо. Опишите свою - скажем честно, решается она нашим API или чужим.