Как создать простое погодное приложение на 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.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?

20.08.2023 18:21

Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в 2023-2024 годах? Или это полная лажа?".

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией

20.08.2023 17:46

В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.

Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox

19.08.2023 18:39

Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в частности, магию поплавков и гибкость flexbox.

Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest

19.08.2023 17:22

В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для чтения благодаря своей простоте. Кроме того, мы всегда хотим проверить самые последние возможности в наших проектах!

Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️

18.08.2023 20:33

Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий их языку и культуре.

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL

14.08.2023 14:49

Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип предназначен для представления неделимого значения.