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

Uploaded Python 3

File details

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

File metadata

  • Download URL: ps_schedule-1.2.0.tar.gz
  • Upload date:
  • Size: 7.5 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.2.0.tar.gz
Algorithm Hash digest
SHA256 9ae1fe24d7ddc7112fff36a12da1b57fd1e4de917a85ff7e0efd2acc2cfbae23
MD5 0ae4c1dd523172b880bf32ff388cf627
BLAKE2b-256 e080b0bc7c5350478dd1a7bcc3bb17001b7bda5f976686c0e3b41cee0c392dfa

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: ps_schedule-1.2.0-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.7

File hashes

Hashes for ps_schedule-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c42dc9a67ae3431de1cbf9173d7ea9e47ee827e0a0bfc8aef31872d1fe8e6135
MD5 517454730663019a827b30e5ce6bbacb
BLAKE2b-256 f1792e79e2a160980ae8f4c10ae3aac19972b1ab42e954cd7f93eabb52dd0d23

See more details on using hashes here.

Provenance

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