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.2.1.tar.gz (7.5 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.2.1-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

Details for the file ps_schedule-1.2.1.tar.gz.

File metadata

  • Download URL: ps_schedule-1.2.1.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ps_schedule-1.2.1.tar.gz
Algorithm Hash digest
SHA256 8f5d47a611a34f51b6ccc3a32cde140aff7d92dfe48c20fe563d7092596ce02d
MD5 f9a9ef7f5a993d7b3822c1b5180a0d68
BLAKE2b-256 6bae4374f683f20aeaa3ba43a7dcde184407b3a903be2ad859f6d26c91bc0ff1

See more details on using hashes here.

Provenance

The following attestation bundles were made for ps_schedule-1.2.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.2.1-py3-none-any.whl.

File metadata

  • Download URL: ps_schedule-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 8.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ps_schedule-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 deb128021b1d2730ce8f96d0493a4b87f8ef986557f01368ff2f617742de3775
MD5 cbcdf483cc9c3ca17331e2d2309afab9
BLAKE2b-256 d64b544fcf29375a72fd00db01f794f96fd123093577b9d07291a2ac337ebcef

See more details on using hashes here.

Provenance

The following attestation bundles were made for ps_schedule-1.2.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