Найти в Дзене
IT Start | Python

Парсер погоды на Python

Получение данных о погоде — одна из самых частых задач при создании ботов, автоматизаций и простых консольных утилит. Вместо сложных API с ключами можно использовать готовый сервис wttr.in, который предоставляет погоду в текстовом формате через обычный HTTP-запрос. В этой статье мы напишем минималистичный парсер погоды на Python, который работает всего на нескольких строчках кода. wttr.in — это веб-сервис, который формирует текстовый отчёт о погоде по указанному городу или координатам. Формат ответа — ASCII-таблица, содержащая текущие данные: температуру, ветер, осадки и краткое описание состояния погоды. Запрос выглядит так: https://wttr.in/<город> В качестве ответа мы получим погоду на ближайшие 3 три дня в указанном городе. Его сразу можно выводить в консоль без дополнительной обработки. Перед написанием кода установим модуль requests, благодаря которому мы сможем отправлять GET-запрос к сервису: pip install requests После инсталляции импортируем модуль requests: import requests Соз
Оглавление

Введение

Получение данных о погоде — одна из самых частых задач при создании ботов, автоматизаций и простых консольных утилит. Вместо сложных API с ключами можно использовать готовый сервис wttr.in, который предоставляет погоду в текстовом формате через обычный HTTP-запрос.

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

О работе wttr

wttr.in — это веб-сервис, который формирует текстовый отчёт о погоде по указанному городу или координатам. Формат ответа — ASCII-таблица, содержащая текущие данные: температуру, ветер, осадки и краткое описание состояния погоды.

Запрос выглядит так:

https://wttr.in/<город>

В качестве ответа мы получим погоду на ближайшие 3 три дня в указанном городе. Его сразу можно выводить в консоль без дополнительной обработки.

Написание кода

Установка и импорт библиотек

Перед написанием кода установим модуль requests, благодаря которому мы сможем отправлять GET-запрос к сервису:

pip install requests

После инсталляции импортируем модуль requests:

import requests

Написание кода

Создадим переменную city, в которую пользователь будет передавать название города, погоду в котором он хочет узнать и сформируем ссылку для GET-запроса:

import requests

city = input("Введите название города: ")
url = f"https://wttr.in/{city}"

Далее у нас будет идти конструкция try … except. Внутри try будет отправляться GET-запрос, а результат выводиться в консоль. Внутри except будут обрабатываться исключения:

import requests

city = input("Введите название города: ")
url = f"https://wttr.in/{city}"

try:
res = requests.get(url)
print(res.text)
except requests.exceptions.Timeout:
print("Превышено время ожидания ответа от сервера.")
except requests.exceptions.ConnectionError:
print("Ошибка подключения. Проверьте интернет-соединение.")
except requests.exceptions.HTTPError as e:
print(f"Ошибка сервера: {e}")
except Exception:
print("Произошла непредвиденная ошибка.")

Пример работы кода

В качестве примера попробуем узнать погоду на ближайшие 3 дня в Москве:

     Парсинг погоды на Python Admin
Парсинг погоды на Python Admin

Заключение

В ходе данной статьи мы написали простой парсер погоды на Python всего за несколько строк кода! Надеюсь Вам понравилась статья, желаю удачи и успехов! 🙂

Мой Telegram канал по Python

Мой YouTube канал

Курс по созданию телеграм-ботов на Python с фреймворком Aiogram

Мой курс по Python (50 видоуроков + дополнительные уроки)

Курс по созданию GUI на Python