Программа для автоматического мониторинга базы ж/д билетов на тему появления там чего-то нужного, но труднодоступного (например, плацкартных билетов Москва-Питер).

Лицензионное соглашение и дисклеймер:

Разрешается использование этой программы во имя добра. Используйте её умеренно, не напрягайте сервер. Не используйте её для зарабатывания денег, но для решения личных проблем и помощи страждущим. В случае проблем не вините автора. Уважайте авторство. Будьте счастливы, не опаздывайте на поезд.

Станцию можно вбивать руками, но если название не будет распознано базой, за результат я не отвечаю. Вообще за результат не отвечаю.

Пишется на питоне, под линуксом, для себя. На вопросы по установке и запуску отвечать буду по мере желания. Зависимости (в скобках — имена debian-овских пакетов):

  1. BeautifulSoup (python-beautifulsoup) — парсер HTML-кода
  2. WxPython (python-wxgtk2.*) — графический интерфейс
  3. XMPPPY (python-xmpp) — библиотека для работы с Jabber
  4. dnspython (python-dnspython) — нужен xmpppy, чтобы тот мог работать с GTalk

Сделано:

  1. Запрос к orw.ru, выборка по типу билета
  2. Настройка вечер/ночь (с полшестого вечера до пяти утра)
  3. Расписание найденных поездов (время отправления и прибытия)
  4. Цены (показывать и фильтровать) хотел сделать, но слишком это было бы медленно. Показываю, фирменный поезд или простой.
  5. «Чёрный список» поездов — исключать отдельные поезда из рассмотрения. Пока что с неудобным интерфейсом (надо вводить список нежелательных поездов руками).
  6. Периодически опрашивает сайт, если не находит подходящих билетов – пока не найдёт. Интервал около минуты – сделать настраиваемым?..
  7. Когда что-то нашлось — уведомление по джабберу (в т.ч. Google Talk), мигание в панели задач. Jabber настраивается в файле .xmpp , который надо положить в в вашу домашнюю папку (в винде — откройте «досовское» окошко и напечатайте set HOME — оно вам скажет, какая папка домашняя). Достаточно настроить значение to (и добавить orw.messenger@gmail.com в контакты своего мессенджера?).

Сделать:

  1. Выбираемое время отправления,
  2. А также вообще настройки времени прибытия,
  3. Но не перегружать интерфейс!
  4. Сделать красивый формат выдачи.
  5. Открывать rzd.ru в браузере прямо из программы, по кнопке или автоматом.
  6. Выкачать список станций
  7. Дату календариком?
  8. Защиту от неверного ввода и прочих исключений

Файлы сейчас лежат на http://theigel-svn.cvsdude.com/orw/, но поскольку не удалось там настроить read-only аккаунт, логин-пароль просите лично.

Кому надо, вот orw.zip на Яндекс.Народ.Диске.

Комментарии о моём (не)умении программировать, высказанные корректно и по существу, принимаются с благодарностью, равно как патчи, апгрейды, аддоны, плагины и рипоффы.

Реклама