项目作者: meshchaninov

项目描述 :
Конвертер расписания занятий с сайта nstu.ru в формат ICalendar, для экспорта в популярные календари Google Calendar, Apple Calendar и др.
高级语言: Python
项目地址: git://github.com/meshchaninov/NSTU-time-table-to-ICalendar.git
创建时间: 2019-09-24T17:58:53Z
项目社区:https://github.com/meshchaninov/NSTU-time-table-to-ICalendar

开源协议:MIT License

下载


Экспорт расписания занятий НГТУ (Новосибирский Государственный Технический Университет) в формат ICalendar (УСТАРЕЛ)

Как только я сделал этот парсер, добрые люди поменяли фронт на сайте. Хоть старые ссылки работают, всё-равно этот парсер можно считать бесполезным =(

Конвертер генерирует текст для создания файла ICalendar (стандарт RFC 5545) который можно экспортировать в Google Calendar, Apple Calendar, да и в любой
другой популярный календарь.

Парсер актуален на момент 1 семестра 2019 года.

Не было возможности протестировать для 2-го семестра, имейте ввиду.

P.S.
Сами понимаете, парсеры не идеальны, возможны ошибки при генерации. Скрипт создавался для личного использования. Мне отказались давать API, пришлось выкручиваться ¯_(ツ)_/¯

Использование

Для macOS / Linux / Windows

  1. python3 -m venv .env
  2. source .env/bin/activate
  3. pip3 install -r requirements.txt
  4. python3 main.py [URL] > [filename].ics

Более подробно можно посмотреть в справке

  1. python3 main.py -h
  2. usage: main.py [-h] [-s SUBGROUP] [-l LAST_WEEK] url
  3. Генерация ICalendar для расписания бакалавров и магистрантов НГТУ. Парсер
  4. актуален на 2019 год.
  5. positional arguments:
  6. url Ссылка на расписание НГТУ взятая с сайта nstu.ru (для
  7. конкретной группы!)
  8. optional arguments:
  9. -h, --help show this help message and exit
  10. -s SUBGROUP, --subgroup SUBGROUP
  11. Номер подгруппы (для тех у кого в расписании указана
  12. подгруппа)
  13. -l LAST_WEEK, --last-week LAST_WEEK
  14. Номер последней недели в семестре (P.S. Парсеру
  15. неоткуда взять эту инфу). По умолчанию последняя
  16. неделя 18

Пример

С генерировать ICalendar файл для группы РГ-91, подгруппы 2 и установить последнюю неделю - 17.

  1. python3 main.py https://ciu.nstu.ru/student/time_table_view?idgroup=33281&fk_timetable=40065 -s 2 -l 17 > РГ-91.ics