Legacy parser
|
|
||
|---|---|---|
| temp | ||
| timetables | ||
| config.py | ||
| files.json | ||
| LICENSE | ||
| parse.py | ||
| README.md | ||
Что енто?
Исходный код парсера из бота, чтобы удобно отображать расписание в телеге
Известные проблемы
- Не парсится суббота
Иногда не парсятся некоторые парыТеперь все должно парсится, даже самый мерзкий текст- Иногда не парсятся целые курсы (временный фикс - начать парсинг не с ячейки
С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
Сам парсер. Обновляет все расписание автоматически при импорте/запуске Нужно импортировать parse и вызывать updateAll()