Дашборд краулеров
Сбор данных
Номера MAX
Как это работает
Каналы делятся между номерами, которые сейчас на связи: при двух номерах каждый обходит половину, при трёх — треть. Выпал номер (MAX отозвал вход, оборвалась связь) — через полминуты его долю забирают остальные. Номер можно вывести из обхода переключателем: вход у него сохранится. Новый номер встаёт в обход сразу после входа.
Основной номер, кроме своей доли, пересылает посты в буфер бота для репостов и достаёт ссылки на видео для автопубликации: диалог с ботом принадлежит конкретному аккаунту. Смена основного не перезапускает сборщик.
Все номера ходят с одного IP сервера, поэтому новые номера лучше включать по одному и смотреть на ошибки за сутки.
Без сохранённого входа сборщик к MAX не подключается и ждёт кнопку: раньше он сам запрашивал SMS при каждом перезапуске, и MAX закрывал номер по лимиту попыток. Повторно запросить код можно не раньше чем через полторы минуты. Код и пароль хранятся 5 минут и стираются, как только сборщик их прочитал; в журнал они не пишутся.
Цифры для каналов каталога
Как это работает
В каталоге есть каналы, на которые мы не подписаны: они попали туда списком, и краулер к ним не ходит. У такого канала есть название, аватарка и подписчики, но нет ни охвата, ни ER, ни частоты постов — а без них карточку показывать нельзя, поиск считает такие страницы пустыми.
Отдельный сборщик заходит на стену канала, читает последние 30 постов и считает всё нужное прямо там. Сами посты никуда не сохраняются — база от этого не растёт.
Обход каналов каталога
Как это работает
Сбор цифр — заход раз в неделю ради средних значений. Полноценный обход — другое: краулер ходит на канал каждые несколько часов и сохраняет каждый пост в базу. Тогда у канала появляется история, графики, поиск по сообщениям и участие в рекламном графе.
Каналы крупнее порога получают подписку основного проекта. Понизите порог обратно — подписки, созданные этим тумблером, отключатся; добавленные вручную и пользовательские не тронутся.
Защита каталога от сборщиков
Как это работает
Перед карточками и списками каталога скрипт на странице получает метку на 30 дней. Сборщик, который скачивает страницы без JavaScript, дальше страницы проверки не проходит. Поисковики (Google, Яндекс, Bing, Mail.ru) пускаются без проверки — их адреса сверяются по DNS. ИИ-обходчики и превью ссылок идут с общим лимитом.
Нейросети
Расход OpenRouter
Бот поддержки
Саммари сюжетов в Картине дня
Как это работает
Сюжетам, которые видны в ленте, нейросеть пишет новый заголовок и саммари по сообщениям источников. Первые заголовки всем сюжетам ставит дешёвая модель, эта — посильнее и работает только для верха ленты. Сюжет, который с тех пор вырос в полтора раза, получает саммари заново.
Склейка двойников в Картине дня
Как это работает
Одно событие расходится по нескольким карточкам: пять заметок про один ночной налёт, четыре про одно нападение медведя. Свести их простым сравнением нельзя — у «Доброе утро, Самара» и «Доброе утро, Майкоп» близость 0,979, то есть разные новости выглядят как одна.
Поэтому близость только отбирает пары-кандидаты, а решает нейросеть: ей показывают два заголовка и спрашивают, одно ли это событие. Пары, где расходятся числа или порядковые слова («второй день» и «последний день»), отбрасываются до неё. Проигравшая карточка исчезает, её сообщения переходят в оставшуюся.