R50 8d56cbe58fdad01cd582dad55e8673d6
Парсинг данных и телеграм боты

Телеграм бот расписания занятий

Добавлено 09 ноя 2022 в 20:51
Задача: Разработать телеграм бот, который будет отправлять расписание занятий для студента.

Сложность данного проекта заключалась в неструктурированном расписании на сайте университета, а также наличия расписания дополнительных занятий в отдельном Excel файле.

В ходе работы был разработан алгоритм, составляющий json файл с расписанием основных занятий в структурированном порядке. Затем производилось чтение Excel файла с учетом номера недели, после чего основной json файл с расписанием дополнялся дополнительными занятиями.
Затем был написан телеграм бот с 4 функциями: загрузка данных, сообщение номера текущей недели, отправка расписания на текущий и на следующий день. При выборе функции загрузки данных бот запускал процесс парсинга расписания чтобы получить json файл с расписанием на текущую неделю. После окончания сбора данных бот присылал сообщение от выполнении работы.
По команде "Сегодня" и "Завтра" бот присылал расписание на текущий и следующий день соответственно. Каждое занятие отправлялось отдельным сообщением в формате: "Название предмета", "Аудитория", "ФИО преподавателя", "Подгруппа" или "Номер недели, на которой проводится занятие". Дополнительная сложность заключалась в том, что не у всех предметов присутствовали все поля.
Также бот мог присылать номер текущей недели по команде "Номер недели". Это нужно для того, чтобы сверяться с расписанием дополнительных занятий.

После окончания работы и тестирования бот был загружен на сервер.
Для ознакомления с его работой: https://t.me/SSAU_RASP_bot

Парсер написан на языке Python с использованием библиотек requests, BeautifulSoup, openpyxl и json.
Бот написан на языке Python с использованием библиотеки aiogram и datetime.

Выполнение проекта заняло 12 часов.
6fdb8c1c37 F732eae944 2a11fae26b