Скрипты-парсеры для сайтов 10 аэропортов №7

10 000 руб. за проект • электронные деньги
23 марта 2017, 22:46 • 1 отклик • 30 просмотров
Необходимо разработать скрипты для сбора данных о вылетах и прибытиях самолетов в 10 аэропортах:

Код Аэропорт Город URL
AYT Antalya http://www.aytport.com/user/flight.asp?FLIGHT_TYPE...
BEG Nikola Tesla Belgrade http://www.beg.aero/en/strana/7641/flight-informat...
BES Guipavas Brest http://www.brest.aeroport.bzh/en/flights-and-desti...
BEY Rafic Hariri International Airport Beirut http://www.beirutairport.gov.lb/index.php?lang=en
BGO Flesland Airport Bergen https://avinor.no/en/airport/bergen-airport/flight...
BHX Birmingham International Airport Birmingham https://www.birminghamairport.co.uk/arrivals-and-d...
BIQ Biarritz - Anglet - Bayonne Airport Biarritz http://biarritz.aeroport.fr/en/
BLL Billund Airport Billund http://www.bll.dk/planlaeg-rejsen/ankomster?sc_lan...
BLQ Guglielmo Marconi Bologna http://www.bologna-airport.it/en/travellers/flight...
BOD Bordeaux-Merignac Airport Bordeaux http://www.bordeaux.aeroport.fr/en/flights?w=out&d...

Требования:
  1. Скрипты могут быть написаны на любом распространенном языке.
  2. Каждый скрипт должен быть разработан таким образом чтобы его можно было вызывать из линуксовой консоли.
  3. Вам будет нужно сообщить нам по и версии, необходимые для работы скрипта (например, python 2.7.*, BeautifulSoup 4.4.*). Скрипт будет запускаться в Docker-контейнере, поэтому, если вы знакомы с докером, то достаточно сообщить название и тэг образа из докер репозитория в котором скрипт сможет правильно работать или предоставить Dockerfile для создания такого образа.
  4. Скрипты не принимают никаких входных параметров.
  5. Выполнение скрипта не должно занимать больше 60 секунд.
  6. Там, где аэропорты предоставляют данные в форматах json, csv, xml и т. д. предпочтительней использовать их, иначе - делать парсинг html-страниц(ы) с помощью соответствующей библиотеки.
  7. Результат должен содержать как минимум информацию по рейсам, которые приземлились / должны были приземлиться за последние 4 часа и которые по расписанию должны приземлиться в течение ближайших 24 часов.
  8. Скрипт должен всегда работать с англоязычной версией сайта аэропорта при ее наличии.
  9. Результат работы каждого скрипта должен быть в виде следующей JSON-структуры:
{
"airport_id": "HKG",
"departures": [
{
"flightno": "CX828",
"codeshares": [
"TX828",
"ZX828"
],
"check_in_desks": "21 - 23",
"gate": "31",
"scheduled": "2016-10-11 07:27:00",
"estimated": "2016-10-11 07:45:00",
"actual": "2016-10-11 07:46:00",
"status": "departed"
}
],
"arrivals": [
{
"flightno": "CX829",
"codeshares": [
"TX829",
"ZX829"
],
"luggage": "11, 12, 14",
"scheduled": "2016-10-11 07:27:00",
"estimated": "2016-10-11 07:25:00",
"actual": "2016-10-11 07:26:00",
"status": "landed"
}
]
}

Где
airport_id - ID Аэропорта (согласно кодировки IATA) указан выше в списке аэропортов (трехбуквенный)
departures - массив рейсов вылетов
arrivals - массив рейсов прилетов
flightno - номер рейса
codeshares - массив совмещенных номеров рейсов (если есть)
check_in_desks - стойки регистрации (если есть)
gate - выход на посадку (если есть)
luggage - выдача багажа (если есть)
scheduled - дата/время вылета/приземления по расписанию по местному времени аэропорта в формате YYYY-mm-dd HH:MM:SS
estimated - прогнозируемые дата/время вылета/приземления (если есть) по местному времени аэропорта в формате YYYY-mm-dd HH:MM:SS
actual - фактические дата/время вылета/приземления (если есть) по местному времени аэропорта в формате YYYY-mm-dd HH:MM:SS
status - один из:
unknown - статус неизвестен
scheduled - рейс идет по расписанию
checkin - идет регистрация
boarding - идет посадка
outgate - посадка закончена
departed - рейс вылетел
expected - ожидается скорая посадка
delayed - рейс задерживается
landed - приземлился
cancelled - рейс отменен

Таблица соответствия статусов в аттаче (Flight statuses mapping). Если вы встретили какой-то другой статус, сообщите мне, я скажу как его интерпретировать и добавлю в таблицу.
Файлы
Отзывы
R50 f33d17224917b24cd6adc2bfe337cdf6
Заказчик
 
5 лет назад
Avatar r50 a6ce93fe35b158fd29ba0e8681c918c22117160e9586a56eee4ffbc20df9bda1
Фрилансер
 
5 лет назад