Connect with us

Обучение

Заметки Python #13: Работа с API и запуск локального сервера

В этом выпуске мы поговорим о библиотеке request, работой с API и запустим локальный сервер

В прошлый раз мы, чтобы получить данные из кода, копировали HTML-элемент вручную в среду разработки. Сегодня мы попробуем сделать это с помощью модуля request. Он не встроенный, его нужно установить отдельно, как и BeautifulSoup

 

Результат:

Работа с API

Application Programming Interface (API) — интерфейс, созданный специально для того, чтобы машине (компьютеру) было проще считать нужную информацию с сайта. Т.е. можно спарсить код, где вставляется погода с помощью регулярных выражений или BeautifulSoup. но лучше (и правильней) сделать это с помощью API

С помощью API удобно получать именно данные, а не какой-либо участок кода с ними. В API меньше кода — всё собрано в одном месте. Нет нужды парсить это регулярными выражениями. И API всегда будет работать, даже если источник поменял на сайте HTML-код.

Сейчас мы отправим запрос на вызов API сайта https://openweathermap.org/ и получим результат в виде JSON (текстовый формат обмена данными, основанный на JavaScript). Не забывайте импортировать модуль json при этом

 

Результат (здесь температура указана в кельвинах)

Как запустить свой сервер?

Поднять свой локальный сервер можно с помощью библиотеки flask. Её тоже нужно отдельно устанавливать — она не встроенная.

 

Результат — сервер запущен:

Аргументы в web-запросах

Веб-запрос может содержать в себе один или несколько аргументов. С помощью Python мы можем анализировать и работать с этими данными. Например, узнать, как «проставится» друг на свой день рождения

Создаем простую html-страницу с формой запроса:

Важное замечание: при использовании библиотеки flask, html-файлы нужно создавать в подкаталоге templates, иначе будет ошибка jinja2.exceptions.TemplateNotFound: home.html

Код сервера у нас выглядит следующим образом:

Далее запустим сервер и откроем index.html. Попытаемся что-либо ввести. Мы увидим, что сайт передает наш ответ в аргументе Key

Если мы вводим неправильный ответ, то увидим:

Если мы угадали, то

Как выглядит проверка, средствами скрипта на питон. Давайте напишем его:

 

Результат:

Свой Aviasales

Aviasales — один из лучших агрегаторов авиабилетов, сделанный нашими соотечественниками. Помимо прекрасного сервиса, aviasales предоставляет доступ к своим API, а это значит мы можем сделать свой сервис по поиску цен на различные направления

Конкретно нас интересует API календаря цен. Прочитать про него можно здесь. В документации мы получим пример запроса API и применим его на практике. Запрос без аргументов выглядит так: http://min-prices.aviasales.ru/calendar_preload

 

Результат:

Как мы видим, в результате мы получаем данные формата json с лучшей ценой на конкретные направления (в нашем случае это — Москва-Сыктывкар)

Click to comment

Leave a Reply

Ваш e-mail не будет опубликован.

Лучшие сервисы стриминга музыки в 2019 году

Сервисы

Wink Ростелеком: Samsung LG, Sony, Phillips, Android TV

Ростелеком

LG WEB OS: приложения, обновления, настройка, проблемы со звуком

Гаджеты

Ноутбуки Asus не видят жесткий диск. Автоматический вход в BIOS при старте

Гаджеты

.

Digital2.ru - тренды, IT, разработка, цифровая экономика

Connect
Подпишись на нас