Техническое задание: Telegram-бот для мониторинга картографических данных
Цель проекта
Разработать автоматизированного Telegram-бота для отслеживания и оповещения об изменениях на веб-сайте с интерактивной картой. На карте отображены зоны (например, охранные или разрешительные), которые динамически меняют свой цветовой статус (например, "открыто", "закрыто"). Бот должен обнаруживать эти изменения и отправлять соответствующее уведомление в Telegram.
Основные функции
- Парсинг динамических данных: Бот должен регулярно проверять целевой веб-сайт и считывать актуальное состояние цветовых зон на карте.
- Анализ изменений: Система должна сравнивать текущее состояние с предыдущим, чтобы выявлять факт смены статуса любой из зон.
- Автоматические уведомления: При обнаружении изменения статуса зоны (например, с "закрыто" на "открыто") бот отправляет сообщение в заранее настроенный Telegram-чат или канал.
- Надежность: Решение должно стабильно работать с сайтами, использующими динамическую подгрузку данных (AJAX, WebSocket).
Технические требования
- Язык программирования: Python (предпочтительно с использованием библиотек для парсинга, таких как Selenium, Playwright или BeautifulSoup в зависимости от сложности сайта).
- Интеграция с Telegram API (библиотека python-telegram-bot, aiogram или аналоги).
- Система должна быть развернута на сервере (VPS) с настройкой бесперебойной работы (например, через systemd или докер).
- Необходима обработка возможных ошибок (падение сайта, изменение его структуры) и логирование.
Что необходимо от исполнителя
- Предложить архитектуру решения для работы с динамическим контентом.
- Реализовать парсер, корректно извлекающий данные с карты.
- Настроить логику сравнения данных и отправки уведомлений.
- Предоставить инструкцию по установке и настройке.
- Обеспечить базовую техническую поддержку после сдачи проекта.
Результат работы
Полностью рабочий Telegram-бот, который в реальном времени мониторит заданный ресурс и мгновенно информирует пользователя о критических изменениях на карте.