Отслеживание жд билетов: Система отслеживания железнодорожных билетов

Вдруг кто-то откажется. РЖД запустили уведомления о появлении билетов — 4 ноября 2020

Туризм

4 ноября 2020, 12:28

1 комментарий

В приложении РЖД появилась новая опция для отслеживания свободных мест на поезда, билеты на которые уже раскупили. Об этом 4 ноября сообщает РИА Новости.

В случае, если на необходимое направление и дату свободных билетов уже не осталось, пользователь может воспользоваться кнопкой «отслеживать билеты». В этом случае человеку придет push-уведомление, если они появятся.

Свободные билеты могут появиться в двух случаях: если кто-то отказался от поездки или к поезду были прицеплены дополнительные вагоны. При этом уведомление придет одновременно всем, кто встал в очередь, а поездка достанется тому, кто оформит покупку билета первым.

УДИВЛЕНИЕ0

ПЕЧАЛЬ0

Комментарии 1

читать все комментариидобавить комментарий

ПРИСОЕДИНИТЬСЯ

Самые яркие фото и видео дня — в наших группах в социальных сетях

  • ВКонтакте
  • Телеграм
  • Яндекс. Дзен

Увидели опечатку? Выделите фрагмент и нажмите Ctrl+Enter

Новости СМИ2

сообщить новость

Отправьте свою новость в редакцию, расскажите о проблеме или подкиньте тему для публикации. Сюда же загружайте ваше видео и фото.

  • Группа вконтакте

Новости компаний

Комментарии

1

Новости компаний

Петербуржцам стало проще рассказывать о красотах Северного Кавказа онлайн

Гости северокавказских республик в 2022 году охотно делились впечатлениями при помощи мобильного интернета и голосовой связи. Делать это стало легче после расширения сети LTE в популярных туристических местах региона. Специалисты МегаФона подсчитали, какие именно локации больше всего впечатлили путешественников. Поселок Домбай в Карачаево-Черкесии уверенно лидирует по числу туристов. Только в первый месяц года горными вершинами здесь любовались свыше 120 тысяч абонентов МегаФона. Снежные склоны традиционно привлекают любителей горных лыж и…

Декабрь — время для преображения: специальные зимние цены в MediSpa-отеле MAYRVEDA Kislovodsk

В MAYRVEDA Kislovodsk можно приехать в любой сезон, чтобы восстановить внутренние ресурсы организма по уникальной методике MAYRVEDA. Сочетание аюрведы и Майер-терапии вместе с минеральными водами и великолепными по своему составу грязями озера Тамбукан, благоприятный для оздоровления климат запускает процессы обновления вашего организма. Станьте лучшей версией себя перед началом нового года! Врачи MAYRVEDA Kislovodsk рекомендуют проходить программы в MediSpa-отеле не менее двух раз в год для закрепления положительных результатов. Чтобы…

Гостиничный бизнес выбирает сервисы MANGO OFFICE для эффективных коммуникаций с клиентами

Отели сети Radisson Hotels в Санкт-Петербурге подключили современные коммуникационные сервисы для работы с обращениями клиентов. Чтобы справиться с высокими нагрузками на линию и автоматизировать процесс бронирования, компания интегрировала собственную систему телефонной связи с виртуальной АТС и подключила облачный контактный центр ведущего российского поставщика коммуникационных сервисов для бизнеса MANGO OFFICE. «Мы постоянно совершенствуем клиентский сервис, работая над качеством и скоростью обработки обращений, — рассказала кластерный…

ТОП 5

1

«Религиозный притон». 22 погибших в страшном пожаре в Кемерове никто не оплакивает

129 719

192

Из-за «арктического взрыва» в США погибли уже 28 человек. Двое умерли дома: ехавшие к ним скорые застряли в снегу

107 797

213

Петербургский архитектор случайно обезглавил человека в Ленобласти

101 132

854

«Лежала на их телах». Екатеринбурженку задержали после убийства трёх детей

75 802

245

Скончался гендиректор петербургских «Адмиралтейских верфей»

62 325

34

Новости компаний

Мониторинг электронных билетов ржд при помощи selenium / Хабр

Волей судьбы мне приходится часто ездить по России из города в город на небольшие расстояния: я живу и работаю в Москве, а родственники и друзья живут в Казани. Раньше билеты на поезда приходилось покупать заранее, ехать на вокзал в кассы, стоять в очередях, и процесс занимал много времени, был негибок, и все приходилось планировать заранее.

В данной статье я расскажу о проблемах при покупке билетов РЖД и о том, как я пытаюсь их решать при помощи автоматизации действий в браузере.

Введение

Несколько лет назад РЖД начали продавать билеты через интернет на своем сайте ticket. rzd.ru, а вскоре почти на все поезда появилась электронная регистрация (не обязательно получать купленный через интернет билет в окошке на вокзале, а можно купить билет в интернете, при желании распечатать бланк заказа, и с ним напрямую идти к проводнику, у которого есть список пассижиров).

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

Часто в таких случаях я просто сидел и обновлял страницу в надежде, что кто-то сдаст билет, и я успею его купить. С удивлением стоит признать, что при интенсивном и продолжительном обновлении страницы с билетами я всегда получал возможность в итоге купить билет и уехать, но приходилось посвещать такому «брутфорсу» много времени и сил.

Автоматизация

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

Я видел много статей на хабре о selenium и его применении для автоматизации действий в браузере и решил применить его для данной задачи. Для решения на python(он прекрасно подходит для этой задачи) нужно установить соответствующий пакет:

pip install selenium

Макет кода можно быстро сгенерировать с помощью Selenium IDE (это плагин для Firefox), просто совершая стандартные действия на странице при заранее включенной записи действий пользователя. Плагин доступен на официальном сайте.

Затем этот код пришлось немного «причесать» и добавить парсинг отображаемой информации, нужные нам проверки, запуск сигнала тревоги.

В итоге получается чтото подобное коду ниже:

# coding=utf-8
from selenium import webdriver
from selenium. webdriver.common.by import By
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
import time, re
import winsound
class Rzdtemp():
    def __init__(self, logger):
        self.logger = logger
    def setUp(self):
        self.driver = webdriver.Firefox()
        self.driver.implicitly_wait(30)
        self.base_url = "http://ticket.rzd.ru/"
        self.verificationErrors = []
    def test_rzdtemp(self):
        self.logger.info('Вход...')
        driver = self.driver
        driver.get(self.base_url + "/static/public/ticket?STRUCTURE_ID=2")
        driver.find_element_by_link_text("Вход").click()
        self.logger.info('Ввод логина и пароля...')
        driver.find_element_by_id("j_username").clear()
        driver.find_element_by_id("j_username").send_keys("username")
        driver.find_element_by_id("j_password").clear()
        driver.find_element_by_id("j_password").send_keys("password")
        driver.find_element_by_id("other"). click()
        self.logger.info('Меню покупки билетов...')
        driver.find_element_by_link_text("Покупка билета").click()
        self.logger.info('Ввод данных...')
        driver.find_element_by_id("fromInput").clear()
        driver.find_element_by_id("fromInput").send_keys(u'КАЗАНЬ ПАСС')
        driver.find_element_by_id("whereInput").clear()
        driver.find_element_by_id("whereInput").send_keys(u'МОСКВА КАЗАНСКАЯ')
        driver.find_element_by_id("forwardDate").clear()
        driver.find_element_by_id("forwardDate").send_keys(u'02.09.2012')
        driver.find_element_by_id("ticket_button_submit").click()
        time.sleep(40)
        self.logger.info('Поиск нужных билетов...')
        rawhtml = driver.find_element_by_id('ajaxTrainTable').get_attribute("innerHTML")
        if u'Плацкартный' in rawhtml:
            self.logger.info('!!!ЕСТЬ ПЛАЦКАРТ!!!')
            strlist = [x.strip() for x in rawhtml.split('\n') if x.strip()!=u'']
            #print strlist
            train = ''
            for i,x in enumerate(strlist):
                if x == u'<div>':
                    train = strlist[i+1]. replace('<span><b>','')
                if x == u'Плацкартный':
                    #включаем сигнал тревоги
                    winsound.PlaySound('alarma.ogg', winsound.SND_NOWAIT)
                    self.logger.info(u'Поезд-%s Число-%s %s' % ( train, strlist[i+3].replace('<b>','').replace('</b>',''),
                    strlist[i+5].replace('<td><span>','').replace('</span></td>','')))
        elif u'Сидячий' in rawhtml:
            self.logger.info('Только сидячие...')
        elif u'Купе' in rawhtml:
            self.logger.info('Только купе...')
        self.logger.info('Выход...')
        driver.find_element_by_link_text("Выход").click()
    def tearDown(self):
        self.logger.info('Закрываем браузер...')
        self.driver.close()
        self.driver.quit()


Этот код можно в цикле запускать с заданным интервалом, например проверять билеты каждые 5 минут.

Весь процесс написания и отладки кода занял примерно полчаса.

К коду можно прикрутить любые проверки, для нужных нам поездов, дат, мест и так далее.

В данной версии при обнаружении срабатывает звуковой сигнал, что билет появился, в качестве альтернативного варианта можно отсылать email или смс, однако в этом случае можно попросту не успеть купить билет.

Итоги


Пока на сайте нет капчи, можно спокойно пользоваться похожими механизмами, если вдруг появится, придется придумывать чтото посложнее. Кто знает, возможно в будующем у РЖД появится чтото типа сервиса с API.

Стоит отметить, что билеты, к моему удивлению, сдаются достаточно часто, и вероятность перехватить только что сданный билет очень велика, если быстро успеть заполнить заказ. Часто бывало, что билет появлялся, но после заполнения выяснялось, что его уже успел купить ктото другой.

По личному опыту больше всего билетов сдается в последний день.

Удачных поездок!

Текущий статус поезда — Найдите свой поезд онлайн

Руководство по проверке информации о статусе движения поезда в режиме реального времени через Trainspnrstatus:

  1. Введите действительный пятизначный номер поезда в форму выше и нажмите кнопку «Получить статус поезда».
  2. Откроется новая веб-страница с более подробной информацией о запрашиваемом номере поезда.
  3. В верхней части страницы вы найдете форму, в которой вас попросят предоставить информацию о вашей промежуточной станции и дне в пути.
  4. Введите станцию ​​и день поездки и нажмите кнопку «Получить статус движения поезда».
  5. Новая веб-страница покажет текущее местоположение вашего поезда от станции, с которой вы начинаете путешествие. Он также сообщит вам об ожидаемом прибытии поезда и ожидаемом времени отправления на вашей станции.

Чтобы правильно отслеживать свой поезд, важно правильно заполнить всю информацию на шаге 2. Основной запутывающий вариант — выбрать день поездки. Разберем процесс на нескольких примерах

Предположим, вам нужно сесть на поезд 15018 (GKP LTT Kashi Express) с железнодорожного вокзала Джабалпура 20 июня (считайте сегодняшнюю дату). Вы знаете, что запланированное время прибытия поезда № 15018 на железнодорожный вокзал Джабалпура 23. 30.

Таким образом, чтобы отслеживать положение этого поезда в реальном времени 20 июня до 23:59, вы заполните опцию «День поездки» как «сегодня». Предположим, поезд опаздывает, и вы отслеживаете тот же поезд после 23:59. Как вы знаете, после того, как время 23:59 изменится на 21 июня, вы выберете вариант дня поездки как «вчера».

Вчера (Время: 00.00-23.59)——>Сегодня (Время: 00.00-23.59)

Если статус движения поезда для запрашиваемого номера поезда не выдается, причин может быть несколько.

  • Вы ввели неверный или недействительный номер поезда.
  • Поезд не работает в дату запроса.
  • Поезд еще не тронут с исходной станции.

Какую важную информацию можно отслеживать по текущему состоянию поезда:  

  1. Текущее местоположение поезда
  2. Последняя станция, с которой отправился поезд
  3. Задержка поезда
  4. Ожидаемое время прибытия на желаемую железнодорожную станцию ​​
  5. Ожидаемое время отправления на нужной железнодорожной станции

Руководство по проверке статуса поезда в режиме онлайн через справочный портал Индийской железной дороги:

Шаг 1. Перейдите сюда   http://enquiry.indianrail.gov.in/ntes  

 

Шаг 2. Введите правильный текст, представленный на картинке чтобы подтвердить себя как человека и нажмите кнопку «Подтвердить».

 

 

Шаг 3: После успешной проверки изображения капчи вы увидите такое окно. Введите номер поезда в поле, как показано на рисунке.

 

 

Шаг 4: После того, как вы введете правильный номер поезда, появится окно, показывающее расписание маршрута этого поезда. Обратите внимание, что это не текущий статус поезда.

 

Шаг 5. Чтобы получить статус движения поезда в реальном времени, нажмите кнопку справа с надписью «Все запущенные экземпляры». Вы увидите список бегущих поездов с указанием даты и времени.

 

Шаг 6: Нажмите на вариант, соответствующий нужному запросу поезда. Появится подробное окно, как показано на изображении ниже, которое будет обеспечивать обновление поезда от станции к станции.

 

 

Примечание. Этот веб-сайт может работать некорректно на некоторых мобильных телефонах. В этом случае вы можете воспользоваться услугой 139. Просто наберите *139# и следуйте инструкциям на экране, чтобы найти свой поезд. Также обратите внимание, что ваш оператор может взимать с вас плату за то же самое.

Расписание поездов: Расписание маршрутов поездов в таблице расписаний

Trainspnrstatus предоставляет простой интерфейс для проверки расписания поездов Индийских железных дорог и поездов IRCTC. Все, что вам нужно сделать, это заполнить номер поезда в форме выше. Нажмите кнопку «Получить расписание поездов» и подождите несколько секунд.

Например, предположим, что вы хотите проверить расписание поездов поезда 11093 Маханагари Экспресс, введите в форму «11093».
Точно так же предположим, что вы хотите, чтобы маршрут поезда поезда 15017 Kashi Express, введите «15017» в форму и нажмите кнопку «Получить расписание поездов».
Перед вами откроется новая страница с информацией о расписании поездов. На новой странице также будет содержаться более подробная информация о маршруте поезда.

Поезд проходит через множество железнодорожных станций на пути от пункта отправления до пункта назначения. Маршрут поезда представляет собой информацию о поездах, проходящих на разных станциях, через которые он проходит и останавливается.

Остановки поездов заносятся в таблицу последовательно со всеми станциями на маршруте следования. В первом столбце таблицы указан номер остановки поезда. Во втором столбце указаны названия станций, на которых он останавливается. Такая информация, как день в пути и количество дней в пути, также представлена ​​в том же столбце.

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

В четвертом столбце показано расстояние, пройденное поездом от источника до станции на маршруте. Единицей указанного расстояния является километр.

Давайте разберем весь процесс на примере. Возьмем случай, когда вы хотите проверить расписание поездов Nellai Express. Теперь вы знаете, что номер поезда Nellai Express — 12631. Следовательно, вы посетите страницу расписания поездов Trainspnrstatus, введите «12631» в форму и отправьте ее.

Откроется новая страница с заголовком «12631 маршрут поезда» и таблицей с информацией о маршруте. Просто взглянув на таблицу, вы можете понять, что отправной станцией Nellai Express является Chennai Egmore. Он отправляется из Ченнаи Эгмор в 19 часов.:50.

Соответственно, вы узнаете, что вторая станция в маршруте — Тамбарам. Поезд прибывает в Тамбарам в 20:18 и отправляется в 20:20. Он останавливается на две минуты. От Ченнаи Эгмора до Тамбарама поезд преодолел расстояние 25 километров.

Точно так же мы узнаем, что третья станция — Ченгалпатту, куда поезд Nellai Express прибывает ежедневно в 20:48, преодолев в общей сложности 56 километров от исходной станции Ченнаи Эгмор. Он останавливается на две минуты и отправляется в 20:50.

Таким образом, мы можем проверить все расписания поездов на станциях поезда удобно и без усилий. Мы составили таблицу некоторых важных поездов под страницей, для которых вы хотели бы проверить расписание поездов IRCTC .

Зачем нужно проверять маршрут поезда?

Как вы знаете, индийские железные дороги часто объявляют о новых поездах между двумя пунктами, и вы хотите узнать, через какие станции они проходят, чтобы соответствующим образом спланировать свое путешествие. Вы хотите знать, как быстро поезд завершает свое путешествие, каково время прибытия и отправления и т. Д., Затем вы проверяете маршрут поезда. Это также поможет вам в бронировании билетов, потому что у вас есть все основные знания и информация о поезде.

Где посмотреть расписание поездов?

Вы можете легко проверить расписание поездов онлайн, воспользовавшись страницей расписания поездов Trainpnrstatus.