28 lines
2.2 KiB
Markdown
28 lines
2.2 KiB
Markdown
# Что енто?
|
||
Исходный код парсера из бота, чтобы удобно отображать расписание в жсончике. Используется для моего бота в тг
|
||
|
||
Версия `в3` проверена на всех группах. каждая распарсилась идеально кроме ПГС 6 курса
|
||
|
||
Лицензия - гпл 3. Коту пгупсику привет <3
|
||
|
||
# Известные проблемы
|
||
- Не парсится суббота
|
||
- ~~Иногда не парсятся некоторые пары~~ Теперь **все** должно парсится, даже самый мерзкий текст
|
||
- Не парсится ПГС 6 курс
|
||
|
||
|
||
|
||
# Файлы
|
||
### `files.json`
|
||
Этот файл содержит словарь со всеми ексель файлами. Обновлять словарь нужно раз в год. Для этого надо зайти на https://rasp.pgups.ru/schedule/group и выполнить скрипт
|
||
```js
|
||
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()`
|