Получение данных о погоде — это распространенная задача для разработчиков, особенно при создании приложений, которые зависят от погодных условий. В этой статье мы рассмотрим, как использовать OpenWeatherMap API для получения данных о погоде с помощью Python.
Первое, что вам нужно сделать, это зарегистрироваться на сайте OpenWeatherMap и получить API-ключ. Этот ключ позволит вам совершать запросы к API.
Для взаимодействия с API мы будем использовать библиотеку requests, которая делает отправку HTTP-запросов простой и удобной. Установить её можно с помощью следующей команды:
pip install requests
Теперь мы готовы написать код, который будет отправлять запросы к OpenWeatherMap API и обрабатывать полученные данные.
import requests, sys
from datetime import datetime
def getGeoData():
response = requests.get('http://ip-api.com/json?lang=ru')
data = response.json()
return data
def getWeather(api_key):
try:
geo = getGeoData()
base_url = 'https://api.openweathermap.org/data/2.5/weather'
params = {
'appid': api_key,
'lat': geo['lat'],
'lon': geo['lon'],
'units': 'metric',
'lang': 'ru'
}
response = requests.get(base_url, params=params)
data = response.json()
print(f'Погода в {data['name']} [{data['sys']['country']}]')
print(f'Часовой пояс:', geo['timezone'])
print(f'Сегодня:', datetime.fromtimestamp(data['dt']).strftime('%d.%m.%Y, %H:%M:%S'))
print(f'Температура: {data['main']['temp']} °C')
print(f'По ощущению: {data['main']['feels_like']} °C')
print(f'Описание: {data['weather'][0]['description']}')
print(f'Влажность: {data['main']['humidity']} %')
print(f'Ветер: {data['wind']['speed']} м/с')
print(f'Атмосферное давление: {data['main']['pressure']} ГПа')
print(f'Восход:', datetime.fromtimestamp(data['sys']['sunrise']).strftime('%H:%M:%S'))
print(f'Закат:', datetime.fromtimestamp(data['sys']['sunset']).strftime('%H:%M:%S'))
except Exception as e:
print(f'Error! {e}')
sys.exit()
api_key = ''
getWeather(api_key)
*текст*
- жирный,
~текст~
- курсивный,
-текст-
- _текст_
- подчеркнутый