parser_v1/README.md
синечка ♡ b847e695a6
в2 чтоли
2025-03-01 02:27:22 +03:00

2 KiB
Raw Blame History

Что енто?

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

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

  • Не парсится суббота
  • Иногда не парсятся некоторые пары Теперь все должно парсится, даже самый мерзкий текст
  • Иногда не парсятся целые курсы (временный фикс - начать парсинг не с ячейки С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()