Как создать простое погодное приложение на Python с API OpenWeatherMap

RedDeveloper
06.03.2023 11:51
Как создать простое погодное приложение на Python с API OpenWeatherMap

Этот учебник проведет вас через процесс создания простого погодного приложения с помощью Python и OpenWeatherMap API.

Изображения, созданные MidJourney
Изображения, созданные MidJourney

Шаг 1: Зарегистрируйтесь на OpenWeatherMap API

Чтобы начать работу, вам необходимо зарегистрироваться в OpenWeatherMap API. Это позволит вам получить доступ к данным о погоде, которые вы сможете использовать в своем сценарии на Python. Просто зайдите на сайт https://home.openweathermap.org/users/sign_up и создайте бесплатный аккаунт. После создания учетной записи перейдите на панель управления и сгенерируйте API-ключ. Этот ключ понадобится вам для доступа к данным о погоде.

Шаг 2: Установите модуль Requests

Модуль Requests будет использоваться для выполнения HTTP-запросов к API OpenWeatherMap, поэтому вам необходимо установить его, прежде чем продолжить. Мы будем использовать модуль Requests для выполнения HTTP-запросов к OpenWeatherMap API. Вы можете установить модуль Requests, выполнив следующую команду в терминале:

pip install requests

Шаг 3: Импорт модуля Requests и ключа API

Теперь, когда мы установили модуль Requests и сгенерировали ключ API, мы можем приступить к кодированию. Откройте новый файл Python в вашем любимом редакторе кода и импортируйте модуль Requests:

import requests

Далее создайте переменную для хранения вашего API-ключа:

api_key = 'YOUR_API_KEY'

Замените YOUR_API_KEY на ваш реальный ключ API.

Шаг 4: Создание погодного приложения

Теперь, когда мы импортировали модуль Requests и сохранили наш ключ API, мы можем приступить к созданию нашего погодного приложения. Приложение будет запрашивать у пользователя название города и использовать модуль Requests для доступа к данным о погоде в этом городе.

Вот код:

import requests

api_key = 'YOUR_API_KEY'

city = input('Enter city name: ')

url = f'http://api.openweathermap.org/data/2.5/weather?q = {city}&appid = {api_key}'

response = requests.get(url)

if response.status_code == 200:
    data = response.json()
    temp = data['main']['temp']
    desc = data['weather'][0]['description']
    print(f'Temperature: {temp} K')
    print(f'Description: {desc}')
else:
    print('Error fetching weather data')

Давайте рассмотрим код подробнее и поймем, как он работает:

  • Сначала пользователю предлагается ввести название города с помощью функции input(). Затем введенное значение сохраняется в переменной 'city'.
  • Затем с помощью f-строк строится URL-адрес для доступа к данным о погоде для введенного города. URL состоит из конечной точки API OpenWeatherMap, переменной 'city' и ключа API.
  • Модуль Requests используется для отправки HTTP GET запроса на созданный URL, а ответ сохраняется в переменной 'response'.
  • Код состояния ответа проверяется, чтобы убедиться, что запрос был успешным (код состояния 200).
  • Если запрос был успешным, данные ответа преобразуются в словарь Python с помощью метода json().
  • Температура и описание погоды извлекаются из словаря и выводятся на консоль.
  • Если запрос не был успешным, в консоль выводится сообщение об ошибке.

Следуя этим шагам, вы сможете создать простое погодное приложение, которое получает данные о погоде для заданного города, используя Python и OpenWeatherMap API.

Шаг 5: Сохраните и протестируйте приложение

Сохраните файл Python под именем "weather_app.py". Теперь, когда наше погодное приложение создано, мы можем протестировать его. Выполните следующую команду в терминале.

python weather_app.py

Введите название города, когда появится запрос, и нажмите Enter. Приложение должно получить данные о погоде для указанного города и вывести температуру и описание в консоль.

Если вы только что зарегистрировались для получения ключа API и получаете ошибку, выпейте чашку кофе, возможно, потребуется немного времени для его активации.

Вот вывод консоли:

Получение прогноза погоды в Лондоне
Получение прогноза погоды в Лондоне

Не паникуйте, температура указана в градусах Кельвина (К). Чтобы перевести в градусы Цельсия (C), просто вычтите 273,15 из полученного значения. В данном примере текущая температура в Лондоне, Великобритания, составляет 280,72 - 273,15 = 7,57 C при разорванных облаках. Я выглянул из окна, и это кажется довольно точным!

Поздравляем, вы создали простое погодное приложение с помощью Python и OpenWeatherMap API! Теперь вы можете творчески подойти к пользовательскому интерфейсу и отправить свое приложение в мир.

Спасибо, что читаете! Если мои блоги показались вам интересными или вы хотите связаться с нами, пишите сюда, Github или LinkedIn.

Конечные и Readonly классы в PHP
Конечные и Readonly классы в PHP

23.03.2023 11:48

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

От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React

23.03.2023 08:01

Если вы уже умеете работать с React, создание мобильных приложений для iOS и Android - это новое приключение, в котором вы сможете применить свои навыки работы с React.

БЭМ: Конвенция об именовании CSS
БЭМ: Конвенция об именовании CSS

23.03.2023 02:41

Я часто вижу беспорядочный код CSS, особенно если проект большой. Кроме того, я совершал эту ошибку в профессиональных или личных проектах и чувствовал, что больше не хочу смотреть на длинный код CSS с нарушенной структурой.

Революционная веб-разработка ServiceNow
Революционная веб-разработка ServiceNow

22.03.2023 13:41

В быстро развивающемся мире веб-разработки ServiceNow для достижения успеха крайне важно оставаться на вершине последних тенденций и технологий. По мере того как растут ожидания клиентов в отношении лучшего UI/UX, увеличивается конкуренция и возрастает потребность в производительности разработчиков,...

Как добавить SEO(Search Engine Optimization) в наше веб-приложение и как это работает?
Как добавить SEO(Search Engine Optimization) в наше веб-приложение и как это работает?

22.03.2023 08:55

Заголовок веб-страницы играет наиболее важную роль в SEO, он помогает поисковой системе понять, о чем ваш сайт.

Конфигурация Jest в angular
Конфигурация Jest в angular

22.03.2023 08:25

В этой статье я рассказываю обо всех необходимых шагах, которые нужно выполнить при настройке jest в angular.