Файл: Лабораторная работа 2 на тему " Создание приложения с метеоинформацие й" Группа бин2108.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 26.03.2024

Просмотров: 11

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Ордена Трудового Красного Знамени федеральное государственное бюджетное

образовательное учреждение высшего образования

Московский технический университет связи и информатики
Кафедра «Сети связи и системы коммутации»

Лабораторная работа № 2

на тему

Создание приложения с метеоинформацией”

Группа:

БИН2108

Выполнил: Лепяхов Илья Борисович

Проверил:

Дата:

18.02.2022


Москва 2022

Цель работы: Изучить библиотеку и создать приложение с метеоинформацией.

Ход работы:

1. Создадим новый проект

2. Установим библиотеку requests



Рисунок 1 - Установка библиотеки requests

Библиотека requests является стандартным инструментом для составления HTTP-запросов в Python.

3. Регистрируемся на сайте openweathermap.org чтобы получить API ключ

4. В файле main.py импортирую библиотеку requests.

5. Далее заполняем переменные город, который интересует и APPID

6. Отправляем запрос на сервис и получаем данные

GET является одним из самых популярных HTTP методов. Метод GET

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

ресурса. Для того, чтобы выполнить запрос GET, используется requests.get().

Параметр q используется для указания города.

Параметр units используется для указания системы измерений.

Параметр lang используется для указания языка отображения

данных.

Параметр APPID необходимо указать, чтобы сервис не отклонил наш

запрос, а принял нас как зарегистрированных пользователей.

JSON состоит из:

Набора пар «имя-значение». Они могут быть реализованы как

объект, запись, словарь, хеш-таблица, список «ключей-значений» или

ассоциативный массив.

Для сохранения результатов используем переменную data. Так как

сервис отдает нам информацию в формате json, нам необходимо


использовать метод json() для декодирования полученной информации

7. Выводим информацию в удобном для восприятия виде

Код программы:


import requests

city = "Moscow, RU"

appid = "da512863cb4fba8916e43e599b5f2a0e"

 

res = requests.get("http://api.openweathermap.org/data/2.5/weather",

                   params={'q': city, 'units': 'metric', 'lang': 'ru', 'APPID': appid})

data = res.json()

 

print("Город: ", data['name'])

print("Погодные условия: ",data['weather'][0]['description'])

print("Температура: ", data['main']['temp'])

print("Минимальная температура:", data['main']['temp_min'])

print("Максимальная температура", data['main']['temp_max'])




Рисунок 2 - Результат выполнения программы

8. Узнаем прогноз погоды на неделю

Код программы main.py:


import requests

city = "Moscow, RU"

appid = "da512863cb4fba8916e43e599b5f2a0e"

 

res = requests.get("http://api.openweathermap.org/data/2.5/weather",

                   params={'q': city, 'units': 'metric', 'lang': 'ru', 'APPID': appid})

data = res.json()

 

print("Город: ", data['name'])

print("Погодные условия: ",data['weather'][0]['description'])

print("Температура: ", data['main']['temp'])

print("Минимальная температура:", data['main']['temp_min'])

print("Максимальная температура", data['main']['temp_max'])

print('____________________________')

res = requests.get("http://api.openweathermap.org/data/2.5/forecast",

    params={'q': city, 'units': 'metric', 'lang': 'ru', 'APPID': appid})

data = res.json()

print("Прогноз погоды на неделю:")

for i in data['list']:

    print("Дата <", i['dt_txt'], "> \r\nТемпература <",

        '{0:+3.0f}'.format(i['main']['temp']), "> \r\nПогодные условия <",

        i['weather'][0]['description'], ">")
    print("____________________________")






Рисунок 3 - Результат выполнения программы

Домашнее задание:


import requests

city = "Moscow, RU"

appid = "da512863cb4fba8916e43e599b5f2a0e"

 

res = requests.get("http://api.openweathermap.org/data/2.5/weather",

                   params={'q': city, 'units': 'metric', 'lang': 'ru', 'APPID': appid})

data = res.json()

 

print("Город: ", data['name'])

print("Погодные условия: ",data['weather'][0]['description'])

print("Температура: ", data['main']['temp'])

print("Минимальная температура:", data['main']['temp_min'])

print("Максимальная температура", data['main']['temp_max'])

print("Скорость ветра: ", data['wind']['speed'])

print("Видимость: ", data['visibility'])

print('____________________________')

res = requests.get("http://api.openweathermap.org/data/2.5/forecast",

    params={'q': city, 'units': 'metric', 'lang': 'ru', 'APPID': appid})

data = res.json()

print("Прогноз погоды на неделю:")

for i in data['list']:

    print("Дата <", i['dt_txt'], "> \r\nТемпература <",

        '{0:+3.0f}'.format(i['main']['temp']), "> \r\nПогодные условия <",

        i['weather'][0]['description'], ">")

    print("Скорость ветра: ", i['wind']['speed'])

    print("Видимость: ", i['visibility'])

    print("____________________________")






Рисунок 4 - Результат

Данные задачи залиты на локальный Git и GitHub. https://github.com/lepyakhovib

Вывод:

В процессе выполнения данной лабораторной работы, ознакомились с библиотекой requests. Она позволяет выполнять GET и POST запросы с возможностью передачи параметров URL, добавления заголовков, размещения данных в форме и многое другое. С помощью библиотеки можно делать запросы практически на каждый сайт/веб-страницу, но ее главная функция заключается в получении доступа к API сайтов для получения данных в виде JSON, с которыми можно работать в своем коде, приложениях и скриптах. Для выполнения данной работы использовали сайт: https://openweathermap.org. OpenWeatherMap — онлайн сервис, который предоставляет API для доступа к данным о текущей погоде, прогнозам и историческим данным. В качестве источника данных используются официальные метеорологические службы, данные из метеостанций аэропортов, и данные с частных метеостанций. Информация обрабатываются OpenWeatherMap, после чего, на основе данных строится прогноз погоды и погодные карты, например карты облачности и осадков.