Habercim Türkiye yayında: 28 kaynaklı haber altyapısı nasıl çalışıyor?
Habercim Türkiye'nin haber toplama altyapısını Karataş Medya sıfırdan geliştirdi. Toplayıcının mimarisini, tekrarlı haberlerin nasıl ayıklandığını ve kategori çıkarımının nasıl çalıştığını anlatıyoruz.
Habercim Türkiye, Türkiye'nin önde gelen haber kaynaklarını tek bir akışta toplayan bir haber platformu olarak yayına başladı. Platformun arkasındaki toplama altyapısı Karataş Medya tarafından sıfırdan geliştirildi. Bu yazıda sistemin nasıl çalıştığını teknik tarafıyla anlatıyoruz.
Neden bir haber platformu?
Gün içinde onlarca haber sitesini tek tek dolaşmak zaman alıyor. Okuyucunun asıl ihtiyacı, hangi kaynakta ne çıktığını tek ekranda görebilmek. Habercim Türkiye bu ihtiyacı karşılamak üzere tasarlandı: yirmi sekiz ayrı yayın kuruluşunun akışı tek bir gündem sayfasında birleşiyor, kategoriler otomatik olarak ayrışıyor ve her haber kaynağıyla birlikte sunuluyor.
Mimari
Sistem üç katmandan oluşuyor:
- Toplayıcı: Yirmi sekiz ayrı RSS ve Atom beslemesini düzenli aralıklarla tarayan, PHP ile yazılmış bir arka plan görevi. cURL ile paralel istek atıyor, her beslemeyi kendi formatına göre ayrıştırıyor. Tüm beslemelerin taranması ortalama dört saniye sürüyor.
- Normalleştirme: Farklı kaynaklar haberi farklı biçimde veriyor. Kimi
media:content, kimienclosure, kimi doğrudan içerik HTML'i içinde görsel gönderiyor. Toplayıcı bunların hepsini tek bir veri şemasına indiriyor. - Yayın: Normalleştirilen kayıtlar MySQL'de saklanıyor, ön yüz bu tablodan okuyor. Her kayıt kaynağına, kategorisine ve yayın tarihine göre indeksleniyor.
Tekrarlı haberleri ayıklamak
Aynı olay sekiz farklı sitede birden yayımlanıyor. Karataş Medya'nın geliştirdiği toplayıcı,
her kaydın kaynak bağlantısından SHA-1 özeti üretip bunu benzersiz anahtar olarak kullanıyor;
böylece bir haber aynı beslemeden ikinci kez geldiğinde yeniden eklenmiyor. Veritabanı
seviyesinde INSERT ... ON DUPLICATE KEY UPDATE kullanmak, uygulama tarafında
ayrıca kontrol yapma ihtiyacını ortadan kaldırıyor.
Kategori çıkarımı
Bazı kaynaklar kategori bazlı besleme sunuyor; onlarda iş kolay. Tek bir karma besleme veren
kaynaklarda ise haberin kendi adresindeki yol parçasından kategori çıkarılıyor. Örneğin
/ekonomi/ içeren bir bağlantı ekonomi kategorisine düşüyor. Yol parçası
tanınmazsa başlık ve özet üzerinde anahtar kelime eşleştirmesi devreye giriyor.
Dayanıklılık
Bir kaynağın yanıt vermemesi tüm toplama işini durdurmuyor. Her besleme kendi başına değerlendiriliyor, hata veren kaynak işaretleniyor ve bir sonraki çalışmada yeniden deneniyor. Tek bir kaydın bozuk olması da o beslemenin geri kalanını etkilemiyor.
Sırada ne var?
Önümüzdeki aşamada benzer haberleri kümeleyip "bu olayı şu kaynaklar da yazdı" şeklinde gruplamayı ve okuyucunun kaynak tercihini hatırlayan bir filtre katmanını planlıyoruz.
Karataş Medya; web uygulamaları, otomasyon sistemleri ve dijital yayın platformları geliştiren bir yazılım ve medya şirketidir. Eren Karataş tarafından kurulmuştur. Habercim Türkiye'nin haber toplama altyapısı Karataş…