Skip to content

Periodically scrapes data related to ITU to be used by anyone. This data powers the ITU Helper web sites.

License

Notifications You must be signed in to change notification settings

itu-helper/data-updater

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Refresh Lessons Refresh Course Plans Refresh Courses Refresh Misc

GitHub repo size GitHub GitHub issues

ITU Helper

ITU Helper Logo

İ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

Ne İşe Yarar?

Github Actions kullanarak Veri Yenileme Aralıkları kısmında belirtilen aralıklarda, İTÜ'nün çeşitli sitelerinden ders planlarını ve programlarını okur ve itu-helper/data repo'suna commit eder. Daha sonra, itu-helper/sdk repo'suyla veya manuel olarak bu datalara erişilebilirsiniz.

Veri Yenileme Aralıkları

  • (00:04 - 02:49) 15dk da bir: Lesson'lar güncellenir.
  • (02:55): Bina ve program kodları güncellenir.
  • (03:00):
    • Pazartesileri: Course'lar güncellenir.
    • Salıları: Ders Planları güncellenir.
  • (05:04 - 23:49) 15dk da bir: Lesson'lar güncellenir.

Note

Lesson'ların daha sık güncellenmesinin nedeni kontenjan verilerinin güncel tutulmasının gerekmesidir. Course'ların ve Ders Planlarının güncellendiği sırada Lesson'ların güncellenememsi Github Actions'da kullandığımız Git Auto Commit'in repo'da değişiklik olması durumda commit atamamasındandır.

Verilerin İsimlendirilmesi

  • Dersler
    • MAT 281E → Course
    • CRN: 22964, MAT 281E → Lesson
  • Ders Planları
    • Bilgisayar ve Bilişim Fakültesi → Faculty
    • Yapay Zeka ve Veri Mühedisliği → Program
    • 2021-2022 / Güz Dönemi Öncesi → Iteration

Nasıl Kullanılır?

Veriler otomatik olarak Veri Yenileme Aralıkları bölümünde belirtilen saatlerde güncellenir. Manuel olarak çalıştırmak isterseniz, aşağıdaki kodu çalıştırın. {SCRAP_TARGET} yazan yere de, scrap'lenecek olan veriyi girin (lesson, course, course_plan, misc).

python src/run.py -scrap_target {SCRAP_TARGET}

Toplanan Verilerden Nasıl Yararlanılır?

Verilerden yararlanırken izleyebileceğiniz iki ana yol bulunmakta. İlk olarak, önerdiğimiz yöntem olan itu-helper/sdk repo'sunda bulunan SDK'mizden yararlanmanız. Diğer yöntem ise, verileri HTTP request ile okumak. Bu yöntemin dezavantajı, okuduğunuz dosyalardan bağlantıları kendiniz oluşturmanız gerekmesi. Daha detaylı bilgi için, itu-helper/sdk'nin HTTP request bölümüne bakabilirsiniz.

Bilinen Problemler

1. Eksik Ders İsimleri

Dersler (Course) scrap'lenirken kullanılan sayfa, bazı dersler için isim bulundurmuyor veya yanlış isim bulundurmuyor. Örneğin YZV 311E dersi için görünen ders adı N, başka sayfalarda Veri Madenciliği olarak görünmesine rağmen.

About

Periodically scrapes data related to ITU to be used by anyone. This data powers the ITU Helper web sites.

Topics

Resources

License

Stars

Watchers

Forks

Languages