Как я устал искать ЖД билеты в Крым и обратно и в итоге написал бота
Всем привет! Хочу поделиться нашим ботом, которого мы написали изначально для себя и своей команды, но решили в итоге поделиться.
Я проживаю в Крыму и мне довольно часто приходится ездить по работе в Москву и с закрытием полетов это стало сущей проблемой. Билетов на поезд нет от слова совсем, запланировать поездку практически не получается. Изначально я пробовал постоянно мониторить сайт с билетами, но после 30 минут этих действий я задолбался и стал думать как это можно решить другим путем.
Поискал готовые решения в интернете, наткнулся на парочку мертвых ботов.
Которые выдавали примерно следующее, а часть вообще молчала и ничего не делала.
Было решено написать своего бота, не опускать же руки.
После недолгих поисков обнаружилось самописное API от стороннего разработчика и наш программист ушел его выкуривать на несколько дней. К сожалению РЖД довольно хорошо контролирует кол-во запросов с одного адреса и мы периодически улетали в бан по мере тестирования.
И вот спустя неделю была написана первая версия, которая просто искала любое свободное место на нужную дату. Кстати я на радостях купил себе билет, правда было только верхнее место, но меня это не волновало я быстро его выкупил. Поиск в итоге длился около трех часов.
После того как мы поняли что бот в целом может найти билеты, мы решили расширить его функционал и добавить фильтры, тип вагона, диапазон дат, кол-во человек и тип места(нижнее верхнее)
Эта задачка была уже посложнее, так как API такой информацией не владеет по данному направлению следования и выдать ее не может. Было решено парсить страницу сайта и вытаскивать из нее нужную нам информацию. На это еще ушла неделя вместе с тестированием.
Мы уже неделю пользуемся ботом, он прекрасно ищет для нас билеты, правда иногда поиск занимает больше суток, особенно на нижние места.
Решили прикрутить к нему оплату и попробовать выкатить в общее пользование.
Если бот находит билеты сразу, то платить ничего не нужно, вы просто получите ссылку на покупку с официального сайта. По факту вы и так сможете их купить на официальном сайте. Кстати можете проверить как работает бот просто введите осенние даты, там много свободных мест.
Основными направлениями поиска были выбраны маршруты Москва-Симферополь, Симферополь-Москва, Санкт-Петербург - Симферополь и Симферополь - Санк-Петербург.
Кстати можем сделать автопоиск и на любой другой маршрут, просто не анализировали где есть еще такая же проблема с билетами.
Почему бот платный, ну во первых есть желание просто окупить свои расходы, во вторых мы не делали систему готовую к высоким нагрузкам, по нашим тестам мы можем запустить около 150 одновременных поисков, так чтобы не улететь в бан. Вопрос конечно решаемый, но каждый раз делать этого не хочется. Если будет потребность в том, чтобы маскировать большее кол-во запросов, то обязательно сделаем.
Главное что бот работает, и правда помогает найти билет одним из первых, когда он появляется на сайте, основная задача это сразу зайти и выкупить его, так как ждать никто не будет.
Если по каким то причинам бот не сможет найти билет по вашему запросу, мы готовы вернуть деньги, просто напишите в личку.
Вот собственно и сам бот https://t.me/BiletNaPoezdBot Надеюсь кому то он окажется полезен, так же как и нам.
P.S. Первый билет я по итогу сдал, так как смог найти позже на нижнее место.