Сбор, вежливость и архив

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

Один аккуратный сборщик

Все источники ходят в интернет через одну общую точку. Это сделано специально: без неё два десятка источников легко превращаются в сотню одновременных запросов, а такой обход быстро приводит к блокировке.

  • Не чаще одного запроса в минуту к одному сайту — по умолчанию. Ограничение общее для всех источников, которые смотрят на этот сайт.
  • Повторные попытки с нарастающей паузой — если сайт не ответил или ответил ошибкой, агент подождёт и попробует снова, а не будет долбить дверь каждую секунду.
  • Свой прокси-сервер и свои заголовки — можно задать отдельному источнику, если сайт требует особых условий.

Повторный запрос только при изменениях

Если сайт умеет отвечать «не изменилось», агент это использует: страница просто не скачивается заново, а результат берётся прежний. Для вас это означает меньше трафика, меньше нагрузки на чужие сайты и меньше поводов для блокировки — при том же результате.

Архив сырых страниц

Каждая скачанная страница сохраняется целиком — как она выглядела в тот момент, с адресом и временем. Зачем: через месяц никто не вспомнит, что именно было написано на странице конкурента, а вот «докажите» — самый частый вопрос к новостному наблюдению.

  • Из карточки события видно, откуда взялся факт — есть ссылка на архивную копию именно той версии страницы.
  • Одинаковые тексты не размножаются — файлы хранятся по своему содержимому, поэтому две одинаковые страницы не занимают место дважды.

Повторы и объединение

Одна и та же новость обычно приходит из нескольких мест: из ленты, из поиска, из телеграм-канала. Если ничего не делать, вы получите пять карточек об одном и том же. Поэтому агент ищет повторы по трём признакам, от самого точного к самому мягкому:

  1. Внешний номер материала — если источник сам сообщает постоянный номер записи, спутать её с другой невозможно.
  2. Адрес страницы — один и тот же материал по одному адресу.
  3. Совпадение текста в пределах 72 часов — перепечатки и повторные публикации той же новости в течение трёх суток.

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

Дополнение полного текста

У лент есть известная беда: вместо статьи в них лежит короткий анонс на два абзаца. Агент это замечает и дотягивается до полного текста статьи по её адресу — по умолчанию, если в анонсе меньше 500 знаков. Если страница закрыта паролем или подписчикам, остаётся то, что было: короткий анонс, без ошибки и без выдумок.

Приём материалов из рассылок

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

Восстановление исчезнувших страниц

Иногда страница пропадает: конкурент исправил цену и удалил старую версию. Если нужна именно та, прежняя, агент может поискать её во внешнем веб-архиве и подложить найденную копию в доказательства. Если копии нет — так и скажет, а не подставит случайный текст.

Что происходит при сбоях

Сбои бывают у всех, важно, чтобы они не оставались незамеченными. Поэтому:

  • Источник честно меняет состояние — «серия сбоев», «ошибка», «пауза». Не «всё хорошо» при молчащем сайте.
  • Квота запросов заканчивается громко — если лимит источника исчерпан, вы об этом узнаете, а не останетесь с тишиной и мыслью, что «ничего не происходит».
  • Общую паузу видно — если расписание проверок остановлено целиком, это отражено на Главной.

Дальше → Мониторы

← Оглавление документации