Создавался в рамках проектной деятельности в университете, но в итоге вырос.
Основная цель – оперативное получение и обновление информации о изменениях в расписании (оригинальное расписание содержит html страницы, которые кешируются браузерами)
Можно запустить либо напрямую
python -m venv .venv
. .venv/bin/activate
pip install -r requirements.txt
uvicorn pskgu_bot.main:app
либо через докер (есть Dockerfile)
в файле config.py прописаны настройки проекта.
Для запуска нужно создать переменные среды:
export TOKEN_VK="secret_group_token"
export GROUP_ID=id_group
export MONGO_URL="mongodb://localhost:27017"
-
Используется MongoDB для хранения записей о расписании.
-
Проект состоит из двух частей
- вк бот (папка bots)
Вк бот Написан с использованием vkbottle
- парсер (папка parser)
Использует lxml xpath, aiohttp client для асинхроноого и быстрого парсинга оригинального сайта расписания.
p.s. для работы в heroku/render нужен был веб сервис, поэтому есть fastapi и cron по пингу сайта