Бібліотека-парсер для "ПС-Розклад v4.0" від ПП "Політек-Софт".
Project description
⚠️ Це неофіційний, студентський проєкт, який витягує (парсить) розклад з пакету програм "ПС-Деканат", який використовується більшістю ВНЗ України.
Бібліотека буде працювати з більшостями доменів "ПС-Деканат". При розробці бібліотеки, функціонал тестувався на домені ІФНТУНГ, однак інші домени повинні також працювати.
Швидкий старт:
Встановлюємо бібліотеку з PyPI:
pip install ps-schedule
Отримуємо домен розкладу:
Для цього просто копіюємо ось цю частину посилання на розклад вашого ВНЗ:
Базовий код
Імпортуємо базові класи:
from ps_schedule import Schedule, ScheduleParameters
Вставляємо домен у поле domain класу Schedule та задаємо параметри для отримання розкладу групи:
schedule = Schedule(domain="https://dekanat.nung.edu.ua/", params=ScheduleParameters(group="ІП-24-1К")).get()
Обробляємо дані:
# Отримуємо розклад на сьогодні (перший у списку)
table = schedule[0]
# Виводимо дату таблиці розкладу на сьогодні в консоль
print(f"===| {table.date} |===")
# Проходимось по парам на сьогодні
for lesson in table.lessons:
# Перевіряємо чи є пара
if lesson.description:
# Виписуємо в консоль час початку пари, час кінця пари і її опис.
print(f"[{lesson.start_time} - {lesson.end_time}]: {lesson.description}")
Важливі нюанси:
Ця бібліотека використовує BeautifulSoup щоб парсити HTML з сторінки яку ви бачите коли заходите на розклад у браузері (тому що немає публічного API).
Якщо якимось чудом структура HTML поміняється або навіть відрізняється конкретно у вашого ВНЗ, то можливо парсер не буде парсити (це мало вірогідно, зазвичай ПС-Розклад однаковий для всіх).
Дуже бажано не робити 1000 запитів на секунду, і робити тривалі паузи між ними, бо є два варіанти:
- Ви покладете картоплину на якій ця чудо система працює.
- Сервер вас пошле 403-м кодом.
Приємного користування 😊
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ps_schedule-1.1.1.tar.gz.
File metadata
- Download URL: ps_schedule-1.1.1.tar.gz
- Upload date:
- Size: 6.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
80ab95ebe14223fdebcc7685eec9495c8beb3a9ff89dba663bed6b5a8da97b26
|
|
| MD5 |
76fafca851977fa398c7c2a19e68e68b
|
|
| BLAKE2b-256 |
2f19966869b5828082b639cc151ec8ba54ef8946236882c5ca2e5dec050ea20e
|
Provenance
The following attestation bundles were made for ps_schedule-1.1.1.tar.gz:
Publisher:
workflow.yml on olekstsu/ps-schedule
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ps_schedule-1.1.1.tar.gz -
Subject digest:
80ab95ebe14223fdebcc7685eec9495c8beb3a9ff89dba663bed6b5a8da97b26 - Sigstore transparency entry: 983224595
- Sigstore integration time:
-
Permalink:
olekstsu/ps-schedule@177a0d317a036a1e4ab2f42a50c07388f4cf71c5 -
Branch / Tag:
refs/tags/v1.1.1 - Owner: https://github.com/olekstsu
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@177a0d317a036a1e4ab2f42a50c07388f4cf71c5 -
Trigger Event:
release
-
Statement type:
File details
Details for the file ps_schedule-1.1.1-py3-none-any.whl.
File metadata
- Download URL: ps_schedule-1.1.1-py3-none-any.whl
- Upload date:
- Size: 6.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0716cf0abd68cd4519a989978a84f07a390427eaeba02e222a30ec3c8204a76c
|
|
| MD5 |
147207e14c5abfbb169f82f9f29295e8
|
|
| BLAKE2b-256 |
c0cb0b579de0bc48a0961f07da3a98cb8e41103717340042389ecc78fe7c2b5e
|
Provenance
The following attestation bundles were made for ps_schedule-1.1.1-py3-none-any.whl:
Publisher:
workflow.yml on olekstsu/ps-schedule
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ps_schedule-1.1.1-py3-none-any.whl -
Subject digest:
0716cf0abd68cd4519a989978a84f07a390427eaeba02e222a30ec3c8204a76c - Sigstore transparency entry: 983224646
- Sigstore integration time:
-
Permalink:
olekstsu/ps-schedule@177a0d317a036a1e4ab2f42a50c07388f4cf71c5 -
Branch / Tag:
refs/tags/v1.1.1 - Owner: https://github.com/olekstsu
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@177a0d317a036a1e4ab2f42a50c07388f4cf71c5 -
Trigger Event:
release
-
Statement type: