İTÜ'lüler için İTÜ'lülerden
ITU Helper İstanbul Teknik Üniversitesi öğrencilerine yardım etmek amacıyla ön şart görselleştirme, ders planı oluşturma ve resmi İTÜ sitelerini birleştirme gibi hizmetler sağlayan bir açık kaynaklı websitesidir.
ITU Helper'a bu adresten ulaşabilirsiniz.
itu-helper/data-updater repo'suyla toplanan ve itu-helper/data repo'sunda saklanan verilere, kolayca ulaşılmasına olanak sağlar.
Note
Verilerin nasıl isimlendirildiğine ve güncelleme sıklığına ulaşmak için, itu-helper/data-updater repo'sununa bakınız.
<body>
tag'inin en alt kısmına şu satırı ekleyerek script'leri importlamanız lazım.
<script src="https://cdn.jsdelivr.net/gh/itu-helper/sdk@master/js/dist/bundle.min.js"></script>
JavaScript SDK'sinin detaylı kullanımı için buraya bakınız.
Programlama dilinden bağımsız olarak, verilere HTTP request göndererek de ulaşabilirsiniz. Ders planları .txt
formatında, kalan veriler ise .psv
(Pipe separated values) formatında saklanmakta. Aşağıdaki linklerden, dosyalara ulaşabilir ve okuyabilirsiniz.
-
Dersler (lessons): https://raw.githubusercontent.com/itu-helper/data/main/lessons.psv
-
Dersler (courses): https://raw.githubusercontent.com/itu-helper/data/main/courses.psv
-
Ders Planları: https://raw.githubusercontent.com/itu-helper/data/main/course_plans.txt
-
Bina Kodları: https://raw.githubusercontent.com/itu-helper/data/main/building_codes.psv
-
Program Kodları: https://raw.githubusercontent.com/itu-helper/data/main/programme_codes.psv
Aşağıdaki kodda requests modülüyle; CRN kullanarak, dersin bu sayfadaki verilerine erişim gösterilmiştir.
from requests import get
URL = "https://raw.githubusercontent.com/itu-helper/data/main/lessons.psv"
# Dersleri (lessons) oku ve satır satır ayır.
lines = get(URL).text.split("\n")
# .psv formatından dolayı, her bir satırdaki elementler "|" sembolü ile ayırılıyor.
# İlk eleman, dersin CRN'si. CRN'lerin "key", satırın tamamının da "value" olduğu bir sözlük oluştur.
crn_to_lesson = {line.split("|")[0] : line for line in lines}
print(crn_to_lesson["13590"])
# OUTPUT
# '13590|BLG 212E|Fiziksel (Yüz yüze)|Gökhan İnce|BBB|Monday|08:30/11:29 - |Z-18|120|111|BLG_LS, BLGE_LS, CEN_LS'