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.2.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.2-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ps_schedule-1.2.2.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.2.tar.gz
Algorithm Hash digest
SHA256 81c7daa353084a0fbf5333657259172293dc81cd87c95cc4ae655684c040a5cb
MD5 f1a8fe84c8d25e3b1029a5f7b1ef410f
BLAKE2b-256 27c0a09ca86fea059e52528a53d1742e65f22ca6b605284987286d28e676a3ea

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: ps_schedule-1.2.2-py3-none-any.whl
  • Upload date:
  • Size: 8.4 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 55b624dedc1b7014cc35b4e86c0a177f1400b2fb018058f5f01f4bfd50c43225
MD5 b8badaf44405f347120b2cc3c05f523d
BLAKE2b-256 800574d9b12360781f83380f39e456786c1437cd71c396d138601638cdcec278

See more details on using hashes here.

Provenance

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