Расписание и остальные данные

Расписание и остальные данные

11 марта 2025 г.

С геоданными разобрались. Расскажу теперь про остальное: расписание и разные детали о маршрутах и станциях.

Точкой отсчета является расписание на основном сайте. Оно не содержит промежуточных станций, но зато в нем есть все текущие маршруты и время на конечных станциях. Оно регулярно обновляется. Это расписание я раз в час проверяю самописным парсером и сравниваю с его локальной копией. Когда в нем происходят изменения, мне о них сообщает бот в телеграме. Примерно так: Бот для проверки расписания

Всю информацию о маршрутах я храню, как это ни смешно, в таблице Excel. На первом листе все маршруты с их атрибутами, на остальных - расписание для каждого поезда. Я начинал этот проект на коленке и без особых планов, все делалось вручную, поэтому Excel был удобным вариантом.

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

Новый маршрут мало добавить в таблицу. Нужно предварительно закоммитить его в OSM, чтобы я мог отрисовать его на карте. После этого тоже нужно найти список всех станций и время прибытия на них.

На часть поездов билеты продаются онлайн, поэтому для них расписание я могу спарсить. Для части других расписание иногда оказывается на новом сайте. Действительно иногда - на момент написания этого поста, например, там вообще нет никаких данных. Также помогают фотографии листочков с касс разных станций, городские чаты, редкие посты блогеров, но это все уже ненадежный и недолговечный материал.

Типы поездов и вагонов брал в основном с railgallery.ru, великий сайт. Цены - в неудобной таблице на сайте ГЖД. Есть ещё описания для нескольких станций. Например, Кутаиси-1. Их я тоже пишу сам, конечно.

В общем, в основе всего таблица, данные для которой кропотливо собираются вручную. Несколько питоновских скриптов преобразуют её в ряд json для сайта. Сайт хостится на Github Pages, а это значит, что на нем нет бэкенда. Статика собирается с помощью Hugo при деплое репозитория.