150 000
Информационные технологии и интернет
Январь 2024
Исходный процесс целиком держался на ручном труде и не масштабировался. Ежедневно требовалось вручную обходить спортивный портал, находить матчи с уже подтвержденными составами, заходить на карточки игроков, выписывать даты рождения и коэффициенты, переносить все в расчетную таблицу, формировать итоговое изображение и вручную отправлять его аудитории. Цикл занимал несколько часов в день, плохо тиражировался на три вида спорта одновременно, а любая задержка приводила к тому, что событие успевало начаться раньше публикации. Нужна была система, которая выполняет весь цикл самостоятельно, работает без присмотра в режиме 24/7 и сохраняет работоспособность при постоянных изменениях верстки источника.
Создано автономное Windows-приложение, закрывающее полный цикл: обнаружение события, многошаговый сбор данных, расчет и доставка. Приложение работает как фоновый сервис с иконкой в системном трее, периодически опрашивает источник по таймеру, отбирает только матчи с подтвержденными составами и для каждого проходит цепочку страниц (лента событий, сводка матча, составы, персональные карточки игроков). Извлеченные данные нормализуются, передаются в Excel-модель с VBA-макросами, итоговый блок выгружается как изображение и рассылается по нужному каналу Telegram. Параллельно ведется накопление статистики в посуточных книгах Excel и журналирование всех операций с цветовой разметкой прямо в интерфейсе.
Ежедневный многочасовой ручной процесс сведен к нулю участия оператора: весь цикл от обнаружения события до доставки выполняется автоматически.
Система обрабатывает сотни матчей в сутки по трем видам спорта и четырем каналам рассылки одновременно.
Круглосуточная автономная работа с самовосстановлением: ошибка на одном событии не влияет на остальной конвейер.
Доставка строго один раз на событие благодаря устойчивой дедупликации с сохранением состояния.
Многоуровневые селекторы обеспечили работу через несколько редизайнов источника без вмешательства в код.
Историческая дозагрузка за 7 дней закрывает пропуски и поддерживает полноту накапливаемой статистики.