@Ofelion

Как парсить цены в выдаче авиабилетов?

Доброго дня!
Возникла задача - спарсить цены на авиабилеты с помощью php. Алгоритм:
1. На моём сайте клиент вводит кол-во человек, дату, направление
2. Должен произойти парсинг цен на авиабилеты с сайта butaairways.az
3. Полученная цена должна прибавиться к стоимости тура

По самому парсингу как таковому с помощью curl - материалов много. Но я ничего не смог найти относительно парсинга поисковой выдачи (не считая Яндекса и Гугла, где виден get-запрос). Кто что подскажет - в каком направлении двигаться?
  • Вопрос задан
  • 831 просмотр
Пригласить эксперта
Ответы на вопрос 3
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Но я ничего не смог найти относительно парсинга поисковой выдачи
Поисковой выдачи откуда? С сайта-донора? Смотрите как происходит запрос в систему поиска, скорее всего тоже в запрос гет передаются параметры, но возможно и пост запросм отправляются, все это видно во вкладке нетворк в инструментах разработчика в любом современном браузере.
Ответ написан
Комментировать
@Ofelion Автор вопроса
Я отследил, это файл airports
Ответ написан
Комментировать
@grinat
Это говно на первом ангуляре, так что парсить курлом не выйдет, надо через https://github.com/nesk/puphpeteer
Либо их api дергать:
1. Получаем сессию, ею надо перед каждый запрос брать
curl 'https://booking.butaairways.az/ws/session/getSession' -X POST -H 'Accept: application/json, text/plain, */*' -H 'Referer: https://booking.butaairways.az/' -H 'Origin: https://booking.butaairways.az' -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36' -H 'Sec-Fetch-Mode: cors' --compressed

2. Берем sessionId и дергаем дальше
curl 'https://booking.butaairways.az/ws/flights/weekFlights' -H 'Accept: application/json, text/plain, */*' -H 'Referer: https://booking.butaairways.az/' -H 'Origin: https://booking.butaairways.az' -H 'Accept-Language: ru' -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36' -H 'Sec-Fetch-Mode: cors' -H 'Content-Type: application/json;charset=UTF-8' --data-binary '{"from":"VKO","to":"UFA","departureDate":"2019-09-24","travelersInfos":[{"code":"ADT","quantity":"1"},{"code":"CNN","quantity":"0"},{"code":"INF","quantity":"0"}],"returnDate":"2019-09-24","rt":true,"sessionId":"<Сессия>"}' --compressed
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы