/TransportScheduleParser

Парсер ближайшего расписания для конкретной остановки

Primary LanguageGoThe UnlicenseUnlicense

Парсер ближайшего расписания для конкретной остановки

Данные берутся с недокументированного API Яндекс.Карт, в отличие от других источников тут есть информация о предполагаемом времени прибытия транспорта, причём сразу по всей России. Запросы отправляются через эмулятор браузера surf (https://github.com/headzoo/surf) для частичного обхода ограничения/лимитов на использование данного API.

Этот проект я начал делать для интеграции в умный дом, но конечную реализацию выкладывать не буду. Решил поделиться промежуточной версией, которую вы можете адаптировать под свою задачу. Никакой поддержки или гарантий не даю, всё на ваш страх и риск!

Использование

В функцию getStopInfoJson нужно передать id остановки, который можно вытащить из ссылки на нужную остановку: https://yandex.ru/maps/213/moscow/stops/stop__9645370

Пример вывода

Остановка: Театральная площадь
  Маршрут: 101
    Предполагаемое время прибытия: 22 Sep 21 14:16 MSK
    Предполагаемое время прибытия: 22 Sep 21 14:25 MSK
    Время прибытия по расписнию: 22 Sep 21 14:27 MSK
    Время прибытия по расписнию: 22 Sep 21 14:47 MSK
    Время прибытия по расписнию: 22 Sep 21 15:07 MSK
  Маршрут: м2
    Предполагаемое время прибытия: 22 Sep 21 14:15 MSK
    Предполагаемое время прибытия: 22 Sep 21 14:22 MSK
    Предполагаемое время прибытия: 22 Sep 21 14:33 MSK
    Время прибытия по расписнию: 22 Sep 21 14:14 MSK
    Время прибытия по расписнию: 22 Sep 21 14:24 MSK
    Время прибытия по расписнию: 22 Sep 21 14:34 MSK
  Маршрут: м3
    Предполагаемое время прибытия: 22 Sep 21 14:12 MSK
    Предполагаемое время прибытия: 22 Sep 21 14:19 MSK
    Предполагаемое время прибытия: 22 Sep 21 14:24 MSK
    Предполагаемое время прибытия: 22 Sep 21 14:33 MSK
    Время прибытия по расписнию: 22 Sep 21 14:12 MSK
    Время прибытия по расписнию: 22 Sep 21 14:20 MSK
    Время прибытия по расписнию: 22 Sep 21 14:28 MSK
  Маршрут: м27
    Предполагаемое время прибытия: 22 Sep 21 14:09 MSK
    Предполагаемое время прибытия: 22 Sep 21 14:15 MSK
    Предполагаемое время прибытия: 22 Sep 21 14:27 MSK
    Время прибытия по расписнию: 22 Sep 21 14:11 MSK
    Время прибытия по расписнию: 22 Sep 21 14:20 MSK
    Время прибытия по расписнию: 22 Sep 21 14:29 MSK
  Маршрут: н1 (ночной)
    Ближайших рейсов нет
  Маршрут: н2 (ночной)
    Ближайших рейсов нет
  Маршрут: 904
    Предполагаемое время прибытия: 22 Sep 21 14:17 MSK
    Предполагаемое время прибытия: 22 Sep 21 14:21 MSK
    Предполагаемое время прибытия: 22 Sep 21 14:24 MSK
    Предполагаемое время прибытия: 22 Sep 21 14:26 MSK
    Предполагаемое время прибытия: 22 Sep 21 14:33 MSK
    Время прибытия по расписнию: 22 Sep 21 14:10 MSK
    Время прибытия по расписнию: 22 Sep 21 14:19 MSK
    Время прибытия по расписнию: 22 Sep 21 14:28 MSK
  Маршрут: м10
    Предполагаемое время прибытия: 22 Sep 21 14:09 MSK
    Предполагаемое время прибытия: 22 Sep 21 14:21 MSK
    Предполагаемое время прибытия: 22 Sep 21 14:31 MSK
    Предполагаемое время прибытия: 22 Sep 21 14:31 MSK
    Предполагаемое время прибытия: 22 Sep 21 14:34 MSK
    Время прибытия по расписнию: 22 Sep 21 14:14 MSK
    Время прибытия по расписнию: 22 Sep 21 14:23 MSK
    Время прибытия по расписнию: 22 Sep 21 14:33 MSK
  Маршрут: 144
    Предполагаемое время прибытия: 22 Sep 21 14:13 MSK
    Предполагаемое время прибытия: 22 Sep 21 14:21 MSK
    Предполагаемое время прибытия: 22 Sep 21 14:31 MSK
    Предполагаемое время прибытия: 22 Sep 21 14:36 MSK
    Время прибытия по расписнию: 22 Sep 21 14:18 MSK
    Время прибытия по расписнию: 22 Sep 21 14:28 MSK
    Время прибытия по расписнию: 22 Sep 21 14:38 MSK
  Маршрут: н11 (ночной)
    Ближайших рейсов нет
  Маршрут: н12 (ночной)
    Ближайших рейсов нет