TGViewer
CodeShadow CodeShadow @codeshadowcources · 77 subscribers
Post #361 63
☔️ Парсинг сайтов: пример на погоде

В прошлом посте («Быстрый старт») мы собрали заголовки с новостного сайта. По результатам опросника, сегодня идём дальше и напишем полезный парсер погоды с Gismeteo.

Почему именно погода?
📌 частая задача на фрилансе (когда приходится парсить информацию с сайтов, делать рассылки и т.д.)
📌 тренировка для понимания динамических страниц
📌 легко показать клиенту результат

✨ Код: парсим температуру для города
import requests
from bs4 import BeautifulSoup

# URL страницы погоды для Москвы
url = "https://www.gismeteo.ru/weather-moscow-4368/"

# Делаем запрос (User-Agent нужен, чтобы сайт "поверил", что мы браузер)
html = requests.get(url, headers={"User-Agent": "Mozilla/5.0"}).text

# Создаём объект BeautifulSoup
soup = BeautifulSoup(html, "html.parser")

# Находим тег <temperature-value> (он хранит температуру в атрибуте "value")
temp_tag = soup.find("temperature-value")

# Забираем число и преобразуем к int
temperature = int(temp_tag["value"])

# Добавляем знак: +, − или ничего (для нуля)
if temperature > 0:
sign = "+"
elif temperature < 0:
sign = "−"
else:
sign = ""

# Выводим результат
print(f"Москва: {sign}{abs(temperature)}°C")


❄️ Как это работает:
☀️requests скачивает страницу;
☀️BeautifulSoup разбирает HTML;
☀️<temperature-value> имеет атрибут value, где хранится число (может быть отрицательным зимой ❄️);
☀️мы вручную добавляем знак «+» или «−»;
☀️результат выводим красиво.


🛠 Что можно докрутить:
☀️добавить выбор города (через аргумент или список URL);
☀️вытягивать прогноз на несколько дней вперёд;
☀️упаковать в Telegram-бота («/weather Москва» → ответ с температурой).
More from @codeshadowcources
  1. Oct 9, 2026🖥
  2. Oct 8, 2026Наш внутренний проект для преподавателей. Думаю, получилось отлично)
  3. Oct 8, 2026🎮 Как мы внедрили геймификацию в работу преподавателей Геймификация давно вышла за предел…
  4. Oct 6, 2026😎
  5. Oct 3, 2026😐
  6. Sep 27, 2026Пусть Codex или Claude сами напишут MCP Теперь кейс посерьёзнее. Допустим, приходит клиент…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →