Bu yazımda herhangi bir websitenin alexa bilgilerini nasıl elde edeceğimizi göstereceğim. Bunun için alexa sağlamış olduğu xml servis ile herhangi bir sitenin alexa verilerini elde edebiliyoruz. Elde ettiğimiz xml dosyasını okuyarakta alexa bilgilerini elde ediyoruz. Birçok sitede alexa ile ilgili hizmetlerin çoğu bu yolu kullanmakta. Verileri elde edeceğimiz alexa adresi şu şekilde olacak :
http://www.alexa.com/xml/dad?url=site_adresi. Bu adrese gittiğimizde site ile ilgileri verileri getiren xml bir belge karşımıza çıkıyor. Bu xml dosyayı okuyarak alexa bilgilerini elde edeceğiz.
Ancak şöyle bir sorun var. Bu adreste alexa değeri 100.000 içinde olan websitelerinin tüm özelliklerini elde ederken, 100.000 dışında ki sitelerin tüm özelliklerini vermiyor. Bunun için yazacağımız kodlara dikkat etmeliyiz. Benim sitemin bilgileri için
buraya, ilk 100.00'de olan google.com için alexa bilgilerine
buradan bakabilirsiniz. Öncelikle site sahibini ve alexa değerini veren kodlarımız şöyle olacak:
namespace AlexaDataLib
{
public class AlexaData
{
public DataTable pro(string domain)
{
DataTable tablo = new DataTable();
string url = "http://alexa.com/xml/dad?url=" + domain;
XmlDocument doc = new XmlDocument();
doc.Load(url);
string owner = "", popularity = "";
DataRow r = tablo.NewRow();
if (doc.SelectSingleNode("//OWNER") != null)
{
owner = doc.SelectSingleNode("//OWNER").Attributes[0].InnerText;
tablo.Columns.Add("OWNER");
r[0] = owner;
}
if (doc.SelectSingleNode("//POPULARITY") != null)
{
popularity = doc.SelectSingleNode("//POPULARITY").Attributes[1].InnerText;
tablo.Columns.Add("POPULARITY");
r[1] = popularity;
}
tablo.Rows.Add(r);
return tablo;
}
}
}
Bu kodlar ile site sahibini ve alexa değerini elde ediyoruz. Tüm özellikleri getiren kodlara ise
buradan ulaşabilirsiniz. Dediğim gibi kontrol edeceğiniz site ilk 100.000'de değilse tüm özellikler olmadığından yazdığınız kodları uyarlamanız gerekir. Aksi halde hata alırsınız. Yukarıda verdiğim örnekte istediğimiz siteyi kontrol edebiliriz. Değerlerin olup olmadığını kontrol ediyorum. Eğer bir değer boş olursa kodlarımız çalışmayacak ve hataya düşmeyeceğiz.
Bu yöntem ile rahatlıkla sitelerin alexa bilgilerine ulaşabiliriz.
İyi Çalışmalar!