Мы в Telegram
Добавить новость

Поезда идут с увеличенными интервалами на Сокольнической ветке метро

Москвичи могут спланировать досуг ребенка с помощью сервисов mos.ru

Выставка «Христос за пазухой. Искусство медного литья» откроется в музее-заповеднике «Коломенское»

Неизвестные животные могут обитать в «Небесный ямах» Китая





Новости сегодня

Новости от TheMoneytizer

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

Необходимо разработать скрипты для сбора данных о вылетах и прибытиях самолетов в 10 аэропортах:
Код Аэропорт Город URL
REN NULL Orenburg http://www.orenairport.ru/
SJJ MIR Sarajevo http://www.sarajevo-airport.ba/?lang=eng
SOF Sofia Sofia https://www.sofia-airport.bg/en/passengers/flight-...
SOU Eastleigh Airport Southampton http://www.southamptonairport.com/arrivals-departu...
SPU Split Split http://www.split-airport.hr/index.php?option=com_c...
STR Echterdingen Stuttgart http://www.stuttgart-airport.com/arrival-departure...
STW Stavropol Stavropol https://flystw.com/
PDV Krumovo Airport Plovdiv http://www.plovdivairport.com/en/live-flight
SUF Lamezia Terme Airport Lamezia Terme https://lameziaairport.it/
SXF Schoenefeld Berlin http://www.berlin-airport.de/en/travellers-sxf/arr...

Требования:
  1. Скрипты могут быть написаны на любом распространенном языке.
  2. Каждый скрипт должен быть разработан таким образом чтобы его можно было вызывать из линуксовой консоли.
  3. Вам будет нужно сообщить нам по и версии, необходимые для работы скрипта (например, python 2.7.*, BeautifulSoup 4.4.*). Скрипт будет запускаться в Docker-контейнере, поэтому, если вы знакомы с докером, то достаточно сообщить название и тэг образа из докер репозитория в котором скрипт сможет правильно работать или предоставить Dockerfile для создания такого образа.
  4. Там, где аэропорты предоставляют данные в форматах json, csv, xml и т. д. предпочтительней использовать их, иначе - делать парсинг html-страниц(ы) с помощью соответствующей библиотеки.
  5. Результат должен содержать как минимум информацию по рейсам, которые приземлились / должны были приземлиться за последние 4 часа и которые по расписанию должны приземлиться в течение ближайших 24 часов, если эта информация доступна на сайте аэропорта.
  6. Скрипт должен всегда работать с англоязычной версией сайта аэропорта при ее наличии.
  7. В результате своей работы скрипт должен вывести в STDOUT только (никаких warning'ов, комментариев, логов и т. п.) 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",
"raw_status": "Departed at 07:46",
"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",
"raw_status": "Bag belt open 11, 12, 14",
"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
raw_status - статус как он отображается на сайте аэропорта
status - один из:
unknown - статус неизвестен
scheduled - рейс идет по расписанию
checkin - идет регистрация
boarding - идет посадка
outgate - посадка закончена
departed - рейс вылетел
expected - ожидается скорая посадка
delayed - рейс задерживается
landed - приземлился
cancelled - рейс отменен

Таблица соответствия статусов в аттаче (Flight statuses mapping). Если вы встретили какой-то другой статус, сообщите мне, я скажу как его интерпретировать и добавлю в таблицу.

В 99% случаев, все необходимые рейсы можно получить сделав небольшое количество запросов. Однако бывают сайты, где все обязательные поля (flightno, scheduled, raw_status, status) можно получить только делая по одному запросу на каждый рейс. В таком случае при запуске скрипта будет передан параметр flightno, и тогда скрипт должен найти похожие рейсы и сделать запросы только по ним.
Таким образом, выполнение скрипта в любом случае не должно занимать более 1 минуты.

Читайте на 123ru.net


Новости 24/7 DirectAdvert - доход для вашего сайта



Частные объявления в Вашем городе, в Вашем регионе и в России



Smi24.net — ежеминутные новости с ежедневным архивом. Только у нас — все главные новости дня без политической цензуры. "123 Новости" — абсолютно все точки зрения, трезвая аналитика, цивилизованные споры и обсуждения без взаимных обвинений и оскорблений. Помните, что не у всех точка зрения совпадает с Вашей. Уважайте мнение других, даже если Вы отстаиваете свой взгляд и свою позицию. Smi24.net — облегчённая версия старейшего обозревателя новостей 123ru.net. Мы не навязываем Вам своё видение, мы даём Вам срез событий дня без цензуры и без купюр. Новости, какие они есть —онлайн с поминутным архивом по всем городам и регионам России, Украины, Белоруссии и Абхазии. Smi24.net — живые новости в живом эфире! Быстрый поиск от Smi24.net — это не только возможность первым узнать, но и преимущество сообщить срочные новости мгновенно на любом языке мира и быть услышанным тут же. В любую минуту Вы можете добавить свою новость - здесь.




Новости от наших партнёров в Вашем городе

Ria.city

Спортсмены из Самарской области приняли участие в спортивном шествии, организованном выставкой "Россия" и движением "Здоровое Отечество"

Оркестр ВУМО открыл музыкальную эстафету в Парке Горького

Синоптик Колесов сообщил, что в Петербурге устанавливается аномальная жара

Эксперт Президентской академии в Санкт-Петербурге об инвестициях в отечественные IT-разработки

Музыкальные новости

ЦСКА обыграл "Урал" в заключительном матче РПЛ

Собянин: Центральный кластер комплекса МГТУ им. Н.Э. Баумана будет готов в июне

Полина Максимова стала новым амбассадором подписки Газпром Бонус

Театр кукол Бурятии "Ульгэр": Россия, Культура, Театр, Дети - Спектакль "Курочка ряба"

Новости России

Синоптик: к выходным москвичей ожидает тридцатиградусная жара

Повторяем правила пожарной безопасности в весенний период

Свыше 50 аттракционов допустили к работе в Подмосковье за неделю

Подмосковным предпринимателям напомнили об онлайн-размещении фудт-раков

Экология в России и мире

Gucci, коллекция Resort 2025

Электрические щетки для детей Revyline RL 035 Kids Pink доступны в представительстве марки в Хабаровске

Международные дизайнеры приняли участие в Modest Fashion Day в Казани

Волшебное путешествие в мир музыки и кино

Спорт в России и мире

Ролан Гаррос меняет расписание по требованию Рафаэля Надаля | Виды спорта

Камилла Рахимова вышла в полуфинал турнира WTA-250 в Рабате

Теннисист Хачанов отреагировал на возможное отстранение от Олимпиады

"Ролан Гаррос" стартовал в Париже

Moscow.media

Двигатель города на Неве: как «Грузовичкоф» участвует в жизни Санкт-Петербурга

По нацпроекту приводят к нормативу опорную сеть дорог Алтайского края

Российские туристы назвали города, где лучше путешествовать в одиночестве

В Судаке проверили бывших мигрантов, не вставших на воинский учет











Топ новостей на этот час

Rss.plus






Торговое здание загорелось на МКАД

Туристов позабавить и кадровый голод утолить: зачем Татарстану стратегия промтуризма

В Чите запустят ночные авиарейсы в Москву

Петросян пришёл на премьеру с длинноногой спутницей. И это не его жена