Telegram Bot · Python 3 · Open Source · Render

Weather Scraper Bot v1.1

Асинхронний бот моніторингу погоди для Івано-Франківська. Парсинг sinoptik.ua, регулярні сповіщення о 15:00 та вбудований веб-сервер aiohttp для забезпечення цілодобового аптайму на Render.

Python 3.10+aiogram v3aiohttpBeautifulSoup4APScheduler
github.com/arsen2010arsen/weather-bot репозиторій
Weather Bot · Сповіщення погоди

02 / Про проєкт

Опис та призначення

Weather Scraper Bot автоматизує збір метеорологічних даних без потреби у платних ключах API. Бот напряму парсить показники з sinoptik.ua, відбираючи температуру, опис хмарності, швидкість та напрямок вітру.

Особливістю архітектури є поєднання aiogram v3, планувальника APScheduler та вбудованого мікросервера aiohttp. Веб-сервер відповідає на пінги зовнішніх систем моніторингу (UptimeRobot тощо), що дозволяє безкоштовно хостити бота на платформі Render без переходу в «сплячий режим».

03 / Як працює

Принцип роботи

01

Асинхронний скрапінг

Бот завантажує актуальну сторінку прогнозу погоди та парсить блок метеоданих для міста.

02

Фільтрація та валідація

Очищення HTML-тегів, форматування температурних позначок та стрілок напрямку вітру.

03

Розсилка за розкладом

Планувальник завдань APScheduler генерує та надсилає красиве пуш-повідомлення щодня о 15:00.

04

Підтримка аптайму

Вбудований порт HTTP aiohttp слухає пінги сервера, забезпечуючи 99.9% доступності бота.

04 / Можливості

Ключові особливості

  • Повна автономність — робота без комерційних погодних API-ключів
  • Компактний та наочний формат повідомлень з емодзі
  • Точний прогноз температури, хмарності та вітрових поривів
  • Вбудований фоновий HTTP-сервер для Uptime-пінгів на хмарних хостингах
  • Чистий модульний Python-код із повною асинхронністю
  • Легке налаштування для будь-якого міста через змінні середовища

05 / Архітектура

Стек технологій

Мова та бот
Python 3.10+aiogram v3Telegram Bot API
Скрапінг
BeautifulSoup4lxmlRequests / aiohttp
Сервер & Аптайм
aiohttp ServerRender Web Service
Планувальник
APSchedulerCron Jobs

06 / Запуск

Як почати користуватись

git clone github.com/arsen2010arsen/weather-bot код на GitHub

Клонуйте репозиторій, додайте токен бота у файл .env та запустіть `python main.py` або задеплойте на Render.

  • Python 3.10 або новіший
  • Токен бота від @BotFather
  • Встановлення залежностей: `pip install -r requirements.txt`
  • Хостинг: локально або Render / Railway / VPS

Перегляньте код Weather Scraper Bot

Проєкт є повністю відкритим та доступним для вивчення на GitHub.