ПРОМТ ДЛЯ РАЗРАБОТЧИКА:
Создай Python-приложение для мониторинга грузов на сайте Sylectus (https://www9.sylectus.com) с уведомлениями в Telegram.
Что должно делать приложение
1. Авторизация на сайте
Используй selenium или playwright для входа в аккаунт Sylectus (логин/пароль берутся из .env файла), так как сайт требует авторизации.
2. Мониторинг грузов
Каждые N минут (настраивается) парсить страницу II14_managepostedloads.asp
Извлекать из каждого объявления: город отправки, город назначения, дату, вес, тип груза, ставку, контактные данные
Хранить уже виденные объявления в локальной базе данных SQLite, чтобы не дублировать уведомления
3. Фильтрация по зонам/городам
Читать список отслеживаемых городов/зон из файла zones.txt (один город или зона на строку)
Диспетчер может обновлять этот файл каждый день
Бонус: реализовать команду Telegram-бота /zones Чикаго, Даллас, Атланта для обновления списка прямо из Telegram
4. Уведомления в Telegram
Когда найден новый груз в отслеживаемом городе/зоне — отправить сообщение в группу в таком формате:
НОВЫЙ ГРУЗ
Откуда: Чикаго, IL
Куда: Даллас, TX
Дата: 24.05.2026
Вес: 42,000 lbs
Ставка: $2,800
Контакт: +1 (555) 000-0000
Открыть на Sylectus
5. Telegram-бот (команды)
/start — запустить мониторинг
/stop — остановить
/zones Город1, Город2 — обновить список городов
/status — показать текущий список зон и частоту проверки
/interval 5 — установить интервал проверки в минутах
Стек технологий
Python 3.11+
playwright — для браузерной автоматизации (JS-сайт)
python-telegram-bot — для бота
sqlite3 — для хранения уже найденных грузов
python-dotenv — для хранения логинов и токенов
Структура проекта
/freight-monitor
main.py # точка входа
scraper.py # логика парсинга Sylectus
bot.py # Telegram-бот
db.py # работа с SQLite
config.py # настройки из .env
zones.txt # список отслеживаемых зон
.env # SYLECTUS_LOGIN, SYLECTUS_PASSWORD, TELEGRAM_TOKEN, TELEGRAM_GROUP_ID
requirements.txt
.env файл (пример)
SYLECTUS_LOGIN=your_login
SYLECTUS_PASSWORD=your_password
TELEGRAM_TOKEN=123456:ABC-token
TELEGRAM_GROUP_ID=-1001234567890
CHECK_INTERVAL_MINUTES=3
Важные детали
Сайт Sylectus использует ASP и динамический JS — обязательно использовать playwright, не requests
После парсинга закрывать браузер и открывать заново каждые ~30 минут, чтобы избежать разрыва сессии
Логировать все действия в файл monitor.log
Приложение должно работать как фоновый процесс (можно задеплоить на VPS, например Ubuntu + systemd или screen)