CoderCastrov logo
CoderCastrov
Flixbus

CheapTravel: новый способ путешествовать с Flixbus

CheapTravel: новый способ путешествовать с Flixbus
просмотров
2 мин чтение
#Flixbus

CheapTravel - это приложение, которое я разработал в 2017 году, чтобы найти возможные поездки, которые я мог бы сделать с FlixBus, начиная от двух ближайших к моему дому станций, Чезена и Римини.

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

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

Например: если у меня есть свободный день, куда я могу поехать? Что ж, Flixbus в этом не помогает.

С помощью CheapTravel предлагается такая услуга: вы выбираете город, с которого хотите начать, и дату, когда хотите уехать, и система покажет вам все автобусы, которые отправляются из этого города в этот день. Для каждого автобуса будет указана цена, время отправления и время пути. Очень удобно!

Ниже приведен пример:

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

Как это работает?

Парсинг - вот ответ.

Во-первых, я извлек список городов (коды и названия) и их связь с помощью страницы карты (как показано выше). Все коды были там, внутри HTML.

Во-вторых, когда вы выбираете город отправления, выполняются некоторые HTTP-запросы. Нет необходимости делать POST, достаточно GET. Все необходимые данные, такие как город отправления, город прибытия и дата, могут быть легко помещены в URL. Для каждого города, связанного с городом отправления, выполняется HTTP-запрос, который позволяет мне получить автобусы, которые покрывают этот маршрут в определенную дату.

Затем каждый HTTP-запрос анализируется для извлечения из них всех необходимых данных, которые отправляются пользователю через Telegram.

Заметки

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

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

Код

Вы можете найти код здесь.


Кто я?

Привет, приятно познакомиться!

Меня зовут Алессандро Ломбардини, я любитель искусственного интеллекта, который очень любит писать в свободное время, особенно о машинном обучении. Если вы хотите узнать больше обо мне, посетите мой блог, я там размещаю все, что я делаю, включая статьи, которые я написал на Medium.

Вы также можете найти меня на GitHub и Linkedin. Не стесняйтесь связаться со мной, мне будет приятно пообщаться с вами.