Мы с важной новостью: с 28 февраля 2025 года сервис Хабр Фриланс прекратит свою работу.

Купить услуги можно до 28 февраля 2025, но пополнить баланс уже нельзя. Если на вашем счете остались средства, вы можете потратить их на небольшие услуги — служба поддержки готова поделиться бонусами, на случай, если средств немного не хватает.
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