ek$i sozluk Başlık Takibi

Burada anlatılan adımlarda tarayıcının Firefox olduğu varsayılmıştır. Diğer tarayıcılarda benzer fonksiyonlar kullanılarak aynı sonuca ulaşılabilir. RSS konusunda temel bilgi seviyesinin altına olan kullanıcılar Firefox + Google Reader + Google Reader Watcher başlığına bir göz atmak isteyebilirler.

Güncelleme (26 Kasım 2009): Ekşi Sözlük Başlık Takipçisi ile artık otomatikleştirdik bunu. Buradaki manuel adımlara gerek kalmadı.

ek$isözlük yazarlarının feed43 ile takibi yazısıyla tanıştığım feed43'ü o zamandan beri pek çok iş için kullanmaya başladım. RSS feed, yeterince bilgilendirici olmayan gazetelerin köşe yazarlarını takip etmek için birebir. Sonra bu aracın sözlükteki başlıkları takip etmek için kullanılabileceğini de fark ettim. Belki başkalarını da ilgisini çekebileceğini düşünerek yöntemi paylaşmak istedim.

Takip etmek istediğiniz başlığı sözlükte açın. Örnekte kullanacağımız başlık "esbjorn svensson". Firefox'ta içeriğin yüklendiği bölüme (sağ frame) sağ tıklayıp This Frame -> Open Frame in New Tab seçeneklerini kullanarak sayfayı yenı bir tabda açın.
Yeni açılan tabın adres çubuğunda http://sozluk.sourtimes.org/show.asp?t=esbjorn+svensson yazacaktır. Şimdi başlığın son sayfasına gidelim. Örnek başlığımızda yalnızca iki sayfa olduğu için ikinci sayfaya gidiyoruz. Adres çubuğundaki ifade değişerek şöyle bir şey olacktır: http://sozluk.sourtimes.org/show.asp?t=esbjorn+svensson&kw=&a=&all=&v=&p=2
Şimdi önce bu adres üzerine biraz çalışmamız gerekiyor. Yeni entry'ler girildikçe sayfa sayısı artacağından adresi sayfa sayısından bağımsız hale getirmemiz gerekiyor. Bunun için benim bulabildiğim yöntem şu: Bu adresin en sonunda yer alan &p=2 ifadesini &i=999999999 ifadesiyle değiştiriyoruz. Sonuçta şöyle bir adres oluşuyor:
http://sozluk.sourtimes.org/show.asp?t=esbjorn+svensson&kw=&a=&all=&v=&i=999999999
Bu adresi adres çubuğuna yazıp gerçekten de başlığın son sayfasını getirdiğinden emin olun. Şimdi bu adresi kullanarak bir feed oluşturup başlığa abone olmaya çalışalım.
Feed43.com adresine gidip Create Your Own Feed linkine tıklayarak yeni bir feed oluşturmaya başlayalım.
Birinci adımda (Step 1) oluşturduğumuz bu yeni adresi Address kutucuğuna kopyalayalım. Encoding kutucuğunu boş bırakalım (default utf-8). Reload butnonuna basarak sayfanın kaynak kodunu yukleyelim.
İkinci adım (Step 2. Define extraction rules) en alengirlisi. Bu adımda feed43'ün arama örüntülerine çalışıp kendi ihtiyacınıza daha uygun bir sonuç elde edebilirsiniz. Ben kısaca hangi alana ne yazılacağını söyleyeyim.
Global Search Pattern kutusuna {%}
Item (repeatable) Search Pattern kutusuna ise
<li value="{*}>{%}<div class="aul">{*}">{%}</a>{*}<script type='text/javascript'>e({*},{%},{*});{*}</li>
ifadelerini yapıstırıyoruz.
f43sozluk01 

Bu ifadeler sayfadaki bütün entry'leri bizim için toplayacak. Alttaki "Extract" butonuna bastığımızda OK (n items found) gibi bir mesajla karşılaşmamız gerek (n, esbjorn svensson baslığı için şu anda 20). Clipped data bölümünde de entrylerin içeriklerinin, yazarlarının ve ID'lerinin sıralanmış olduğunu görüyoruz.
f43sozluk02
Üçüncü adımda oluşturduğumuz feed için bir başlık (Feed Title) bir link (Feed Link) ve bir açıklama (Feed Description) girmemiz gerekiyor. Bu kısımlar oldukça basit, ama öğe özelliklerinin (RSS item properties) belirlenmesi bölümünde dikkat gerektiren noktalar var. Bunun için ekran çıktısında da görüldüğü gibi daha önce sayfadan topladığımız verileri kullanıyoruz. Örneğimizde bu değerler şöyle:
Item Title Template: esbjorn svensson - {%2}
Item Link Template: http://sozluk.sourtimes.org/show.asp?id={%3}
Item Content Template: {%1}

f43sozluk03
f43sozluk04
Bu alandaki tanımlamalarımızı da tamamladıktan sonra preview butonuna basarak feedimizin neye benzeyeceğini görebiliriz.
f43sozluk05
Son olarak ufak bazı ayarlar yapmakta yarar var. Sayfanın alt bölümünde göreceğimiz Change file name linkine tıklayarak feed URL'mizi daha okunaklı bir hale getirebiliriz. Ama daha önemlisi feed ayarlarımızın başkaları tarafından değiştirilmesini önlemek için Protect feed from being edited (eğer feed43.com'a üyeyseniz Change feed edit password) linkini kullanarak feedinizin teknik ayarları için bir şifre belirlemelisiniz. Bu son adımı da tamamladıktan sonra feedinizi kullanabilir ya da kullanması için arkadaşlarınızla paylaşabilirsiniz.
Yöntemin geliştirilmesi gereken yanları
Bu yöntem kullanıldığında bir başlığın son sayfasındaki bütün entry'ler görüntüleniyor. Oysa ideal durumda yalnızca feedfetcher'ın son ziyaretinden sonra girilen entry'lerin görüntülenmesi gerekirdi. Aynı şekilde bir başlığa girilen son birkaç entry'nin tamamı son sayfada değilse bu yöntemle sadece son sayfaya girilen entry'leri toplayabiliyoruz. Geliştirme önerilerini yorumlar bölümünden paylaşabilirseniz sevinirim.
Yine de bu yöntemle ilgilendiğimiz bir başlıktaki yeni gelişmelerden haberdar olabildiğimiz için yöntemin bütünüyle yarasız olduğu da söylenemez.
Esbjörn Svensson'u da bir kez daha sevgi ve saygıyla analım. Kendisi ile ilgili entry'leri örneğimizde oluşturduğumuz şu feedi kullanarak takip edebilirsiniz: http://www.feed43.com/sozluk_esbjorn_svensson.xml
Not:
Başlıkları Alt Alta Okumak başlığını da şu adresten takip edebilirsiniz: http://feed43.com/basliklari_alt_alta_okumak.xml
Feed'in ayarlarıyla biraz daha oynayıp daha çok hoşuma giden şu hale getirdim:
f43sozluk06
f43sozluk07

4 yorum:

  1. Başka başlıklar için oluşturulan RSS feedleri de yorum olarak paylaşırsak burada güzel bir toplama ulaşabiliriz diye düşünüyorum. Ben yakında eklemeye başlarım.

    YanıtlaSil
  2. Dilerseniz eksifink'e otomatik baslik/yazar takip ekleyelim? Sozlugu hic yormayacak sekilde.

    YanıtlaSil
  3. Eksifink'ten haberdar degildim daha once. Tam olarak nasil calistigini bilemiyorum. Eger mumkunse neden olmasin? RSS benim icin her zaman en kolay yontem, siteye girme bakinma derdi yok. Ama oylesini tercih edenler de vardir mutlaka. Ben Eksifink'e daha yakindan bakmaya calisayim aksama.

    YanıtlaSil
  4. Ekşi Sözlük Başlık Takipçisi ile artık otomatikleştirdik bunu. Buradaki manuel adımlara gerek kalmadı.

    YanıtlaSil