Скрипты-парсеры для сайтов 10 аэропортов №4
10 000 руб. за проект
•
электронные деньги
Необходимо разработать скрипты для сбора данных о вылетах и прибытиях самолетов в 10 аэропортах:
Код Аэропорт Город URL
SGC Surgut Surgut http://www.airport-surgut.ru/
SIP Simferopol International Simferopol http://www.sipaero.ru/
SVO Sheremetyevo International Moscow http://www.svo.aero/en/timetable/today/
TBS Tbilisi International Tbilisi http://www.tbilisiairport.com/en-EN/flightinfo/Pag...
TJM Roshchino International Tyumen http://www.tjm.aero/
UFA Ufa Ufa http://www.airportufa.ru/en/main.html
UUS Yuzhno-Sakhalinsk Yuzhno-Sakhalinsk http://airportus.ru/board/
VKO Vnukovo International Moscow http://www.vnukovo.ru/flights/online-timetable/
VOG Volgograd International Volgograd http://xn--80aafeah9bwaabcgldgz5p.xn--p1ai/passeng...
YKS Yakutsk Yakutsk http://yks.aero/eng/
Требования:
"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). Если вы встретили какой-то другой статус, сообщите мне, я скажу как его интерпретировать и добавлю в таблицу.
Код Аэропорт Город URL
SGC Surgut Surgut http://www.airport-surgut.ru/
SIP Simferopol International Simferopol http://www.sipaero.ru/
SVO Sheremetyevo International Moscow http://www.svo.aero/en/timetable/today/
TBS Tbilisi International Tbilisi http://www.tbilisiairport.com/en-EN/flightinfo/Pag...
TJM Roshchino International Tyumen http://www.tjm.aero/
UFA Ufa Ufa http://www.airportufa.ru/en/main.html
UUS Yuzhno-Sakhalinsk Yuzhno-Sakhalinsk http://airportus.ru/board/
VKO Vnukovo International Moscow http://www.vnukovo.ru/flights/online-timetable/
VOG Volgograd International Volgograd http://xn--80aafeah9bwaabcgldgz5p.xn--p1ai/passeng...
YKS Yakutsk Yakutsk http://yks.aero/eng/
Требования:
- Скрипты могут быть написаны на любом распространенном языке.
- Каждый скрипт должен быть разработан таким образом чтобы его можно было вызывать из линуксовой консоли.
- Вам будет нужно сообщить нам по и версии, необходимые для работы скрипта (например, python 2.7.*, BeautifulSoup 4.4.*). Скрипт будет запускаться в Docker-контейнере, поэтому, если вы знакомы с докером, то достаточно сообщить название и тэг образа из докер репозитория в котором скрипт сможет правильно работать или предоставить Dockerfile для создания такого образа.
- Скрипты не принимают никаких входных параметров.
- Выполнение скрипта не должно занимать больше 60 секунд.
- Там, где аэропорты предоставляют данные в форматах json, csv, xml и т. д. предпочтительней использовать их, иначе - делать парсинг html-страниц(ы) с помощью соответствующей библиотеки.
- Результат должен содержать как минимум информацию по рейсам, которые приземлились / должны были приземлиться за последние 4 часа и которые по расписанию должны приземлиться в течение ближайших 24 часов.
- Скрипт должен всегда работать с англоязычной версией сайта аэропорта при ее наличии.
- Результат работы каждого скрипта должен быть в виде следующей 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). Если вы встретили какой-то другой статус, сообщите мне, я скажу как его интерпретировать и добавлю в таблицу.
- Файлы
Отзывы
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.
Адекватое общение и тех. поддержка.
Рекомендую.