parser_v1/README.md
синечка ♡ 66d0109b9d
в3
2025-03-03 14:23:14 +03:00

28 lines
2.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Что енто?
Исходный код парсера из бота, чтобы удобно отображать расписание в жсончике. Используется для моего бота в тг
Версия `в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()`