Web Sitesi İndexleme

Başlatan erdemakin09, 14 Mayıs 2017 - 18:22:47

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

erdemakin09

İyi günler arkadaşlar,

Bir proje üzerinde çalışıyorum. Projede belli başlı siteleri tarayacak onları index edicem. Daha sonra o index ettiğim verilerden bir alan oluşturacağım. Örnek olarak şöyle bir örnek vereyim.

Bir uygulama yazacağım bu uygulama ubuntu-tr.net sitesine gelecek ve sadece Son Konular kısmına gelecek. Daha sonra sadece bu sayfada bulunan konuları ve o konuların forum sayfalarını indexleyecek. Daha sonra ben bunu kendi uygulamamda o verileri kullanarak kendi tasarladığım bir liste ile göstereceğim.(Web view gibi olmayacak yani)

Web robotlara baktım. Web crawlerlara baktım ama tam çalışma mantığını anlayamadım. Bana bu işlemi nasıl yapacağımı anlatan güzel bir kaynak önerecek yada nasıl yapabileceğimi anlatabilecek biri var mı ?

Teşekkür ederim.
Her Can Bir Gün Ölümü Tadacaktır!

MRWhite

Öncelikle projenin sınırlarını iyi belirlemeni öneriyorum. Crawlerlar bir siteye girdiğinde o sayfadan başka sayfalara giden linkleri bulurlar ve onları takip ederler. Takip ettikleri bir sonraki sayfaya geldiklerinde aynı işlemi tekrarlarlar. Bu mantıkta bir yapı kuracak isen bir sınır belirlemen gerekiyor. Örneğin; En fazla 10 site kadar ilerle gibi.. Yoksa harddiskin bir süre sonra dolabilir  ;D

Ubuntu-tr örneğinden yola çıkalım. Son Konular kısmını indexlemesini istiyorsun. Burada küçük bir sorun var, eğer sen hard coded olarak "Son Konular" girmeyecek isen yazacağın crawler sitedeki son konular bölümünü nasıl algılayacak? Burada önerim forum sitelerinin yapısını dikkatle incelemen. Genelde son konular bölümü ana sayfada tek güncellenen bölüm. Crawlerına aynı siteyi birden fazla kere indexlemesi için bir opsion yazabilirsin ve her indexlemede birer kopya oluşturur daha sonra bir dahaki gelişinde önceki kopya ile karşlaştırma yapar ve hangi alanların değiştiğini tutar. Diyelim ki karar vermesi için yeterli indexleme sayısı 5 olsun. 5 indexlemeden sonra her seferinde aynı alan güncellenmiş ise orasını son konular olarak belirleyip kullanabilirsin.

Sitedeki içerikleri okumak için JSoup benzeri bir kütüphane kullanabilirsin.

String html = "<p>Forum<a href='https://forum.ubuntu-tr.net/'><b>Ubuntu Türkiye</b></a> Anasayfa.</p>";
Document doc = Jsoup.parse(html);
String text = doc.body().text(); // text = "Forum Ubuntu Türkiye Anasayfa"