Skip to main content

Бібліотека-парсер для "ПС-Розклад v4.0" від ПП "Політек-Софт".

Project description

Python Version PyPI Version

⚠️ Це неофіційний, студентський проєкт, який витягує (парсить) розклад з пакету програм "ПС-Деканат", який використовується більшістю ВНЗ України.

Бібліотека буде працювати з більшостями доменів "ПС-Деканат". При розробці бібліотеки, функціонал тестувався на домені ІФНТУНГ, однак інші домени повинні також працювати.

Швидкий старт:

Встановлюємо бібліотеку з PyPI:

pip install ps-schedule

Отримуємо домен розкладу:

Для цього просто копіюємо ось цю частину посилання на розклад вашого ВНЗ: image

Базовий код

Імпортуємо базові класи:

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 запитів на секунду, і робити тривалі паузи між ними, бо є два варіанти:

  1. Ви покладете картоплину на якій ця чудо система працює.
  2. Сервер вас пошле 403-м кодом.

Документація

Приємного користування 😊

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ps_schedule-1.1.1.tar.gz (6.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ps_schedule-1.1.1-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

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

Hashes for ps_schedule-1.1.1.tar.gz
Algorithm Hash digest
SHA256 80ab95ebe14223fdebcc7685eec9495c8beb3a9ff89dba663bed6b5a8da97b26
MD5 76fafca851977fa398c7c2a19e68e68b
BLAKE2b-256 2f19966869b5828082b639cc151ec8ba54ef8946236882c5ca2e5dec050ea20e

See more details on using hashes here.

Provenance

The following attestation bundles were made for ps_schedule-1.1.1.tar.gz:

Publisher: workflow.yml on olekstsu/ps-schedule

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for ps_schedule-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0716cf0abd68cd4519a989978a84f07a390427eaeba02e222a30ec3c8204a76c
MD5 147207e14c5abfbb169f82f9f29295e8
BLAKE2b-256 c0cb0b579de0bc48a0961f07da3a98cb8e41103717340042389ecc78fe7c2b5e

See more details on using hashes here.

Provenance

The following attestation bundles were made for ps_schedule-1.1.1-py3-none-any.whl:

Publisher: workflow.yml on olekstsu/ps-schedule

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page