YÖK Atlas Üniversite Veri Kazıyıcı ve Normalleştirici
Resmi YÖK Atlas sistemi üzerinden dinamik üniversite tercih verilerini çıkaran, metinleri sanitize eden ve makine öğrenimi / veritabanı kullanımına hazır hale getiren otomatize veri hattı.
Teknoloji yığını
- Diller
Performans & metrikler
- DOM okuma işlemlerinin Selenium üzerinden değil, statik snapshot alınarak
BeautifulSoupile yapılması, satır iterasyonlarında I/O overhead'ini minimize eder - Veri tekilleştirme (
drop_duplicates) ve kolon mutasyonlarınınpandasüzerinden yürütülmesi, işlemlerin saf Python yerine vektörize C seviyesinde gerçekleşmesini sağlar
Neden geliştirdim?
YÖK Atlas platformundan üniversite yerleştirme verilerini toplamak, dinamik JavaScript sayfalama yapısı ve kirli string verileri (ör. isme entegre edilmiş burs oranları, eğitim süreleri) nedeniyle standart HTTP istekleriyle çözülemez bir problemdir. Bu engeli aşmak için hedeflenen endpoint'leri otonom olarak gezen, ham metinleri agresif bir Regex hattıyla temizleyen ve veriyi yapılandırılmış formatlarda derleyen bir scraping mimarisi inşa ettim.
Mimari & kararlar
Çıkarım (extraction) katmanı, DOM mutasyonlarını tetiklemek ve sayfalamayı yönetmek için Selenium WebDriver kullanır. AJAX yükleme durumları strict WebDriverWait ve ExpectedConditions metotlarıyla denetlenir. Ancak, WebDriver'ın yavaş IPC (Inter-Process Communication) çağrılarından kaçınmak için DOM parsing işlemi tamamen BeautifulSoup'a offload edilmiştir. Dönüşüm (transformation) katmanı, veriyi normalize etmek için re modülünü kullanırken, pandas kütüphanesi verinin tekilleştirilmesi ve bellek dostu bir şekilde çoklu formata (CSV, Excel, JSON, BSON) serileştirilmesi için kullanılmıştır.
Temel özellikler
- 01Selenium'un JS state yönetimi ile BeautifulSoup'un hızlı in-memory DOM ayrıştırma gücünü birleştiren hibrit kazıma mimarisi
- 02Program adlarındaki parazit metadataları (burslar, süreler, indirim oranları) tespit edip temizleyen Regex tabanlı sanitasyon hattı
- 03Asenkron DOM güncellemelerinden kaynaklanabilecek race condition'ları önlemek için
staleness_ofkullanan otonom sayfalama döngüsü - 04Veriyi 'ham' ve 'normalize edilmiş' olarak izole dizinlerde JSON, BSON, CSV ve Excel formatlarında eşzamanlı dışa aktarım
Benzer projeler
Bot & Otomasyon
İkas - Trendyol Toplu Ürün Aktarım Otomasyonu
İkas e-ticaret altyapısından alınan ham ürün çıktılarını, Trendyol'un toplu ürün yükleme Excel şablonlarına dönüştüren ve kategorize eden otomatik bir ETL (Extract, Transform, Load) Python betiği.
- Python
- Pandas
- Openpyxl
- +2
Telegram Lein Botu
Özel komut ağaçları ve durum takibi (state-tracking) yapan rekabetçi bir bilgi yarışması (trivia) modülü ile donatılmış otomatik bir Telegram asistanı.
- Python
- Aiogram
- Telegram API
Yt-dlp & FFmpeg Telegram Medya Arşiv Botu (Rust)
YouTube ve X (Twitter) medyalarını indiren, boyut limitlerine göre asenkron FFmpeg işlemleri uygulayan ve Telegram yerel sunucuları (local bot API) üzerinden kullanıcılara sunan yetkilendirmeli bot motoru.
- Rust
- Shell
- Tokio
- +5
Benzer bir ihtiyacınız mı var?
Bu tür bir sistemi sizin için de kurabilirim.
Projenizi birkaç cümleyle anlatın; doğru yaklaşımı ve tahmini kapsamı birlikte belirleyelim.