Legacy parser
Find a file
2025-03-01 02:26:18 +03:00
temp Create empty 2024-09-21 16:25:50 +03:00
timetables Create empty 2024-09-21 16:26:16 +03:00
config.py config.py example 2024-09-21 16:32:09 +03:00
files.json Add files via upload 2024-09-21 16:26:45 +03:00
LICENSE новая лицуха для в2 2025-03-01 02:26:18 +03:00
parse.py парсер получше 2025-03-01 02:22:35 +03:00
README.md в2 чтоли 2025-03-01 02:25:16 +03:00

Что енто?

Исходный код парсера из бота, чтобы удобно отображать расписание в телеге

Известные проблемы

  • Не парсится суббота
  • Иногда не парсятся некоторые пары Теперь все должно парсится, даже самый мерзкий текст
  • Иногда не парсятся целые курсы (временный фикс - начать парсинг не с ячейки С8, а с С9, уже добавлено)

Файлы

files.json

Этот файл содержит словарь со всеми ексель файлами. Обновлять словарь нужно раз в год. Для этого надо зайти на https://rasp.pgups.ru/schedule/group и выполнить скрипт

let w={};document.querySelectorAll('div.kt-portlet:nth-child(2) > div:nth-child(1) > div:nth-child(1) > *').forEach(e => {n=e.textContent.trim();n.indexOf('курс')==-1?function(){w[n]={};c=n}():w[c][n]=e.href});document.body.innerHTML=JSON.stringify(w)

Содержимое страницы поменяется, новый текст нужно скопировать и заменить полностью в files.json ...я бы мог и сам автоматизировать это, но мне впадлу...

config.py

В этом скрипте надо создать переменную LOAD, куда нужно будет поместить словарь, где ключем будет названеи факультета, а значением будет список курсов, которые будут скачиваться. Их лучше взять из файла выше

parse.py

Сам парсер. Обновляет все расписание автоматически при импорте/запуске