ASP.NET ile Bot yazımı

Merhaba arkadaşlar,
Bazen bazı sitelerdeki haberleri , yazıları vb şeyleri kendi sitemizde göstermek isteyebiliriz. Eğer bu sitenin bir web apisi yoksa ancak bot yazarak bilgileri çekebiliriz.Çalışma mantığından bahsedicek olursak sitenin kaynak kodlarını çekiyoruz ve o kaynak kodları arasında bir başlangıç ve bitiş stringi belirliyoruz genelde bunlar html tagları , class isimleri oluyor. Ve bu belirlediğimiz iki string arasındaki ifadeyi bize sonuç olarak döndürüyor.Çeşitli programlama dilleriyle yapılabilir ben sizinle ASP.NET ile bot yazmak için gerekli olan kodları paylaşacağım

Örnek olarak aşağıda sinemalar.com dan filmin adını çeken basit bir bot örneği yazdım umarım işinizi görür..

        
 WebRequest SiteyeBaglantiTalebi = HttpWebRequest.Create("http://www.sinemalar.com/film/1000");
 WebResponse GelenCevap = SiteyeBaglantiTalebi.GetResponse();
 StreamReader CevapOku = new StreamReader(GelenCevap.GetResponseStream());
 string KaynakKodlar = CevapOku.ReadToEnd(); // kaynak kodunu Dedğişkene atadık 

//üstteki işlemin aynısını alttaki kodlada yapabilirsiniz
//WebClient c = new WebClient(); 
//string KaynakKodlar= c.DownloadString("http://www.sinemalar.com/film/1000");

 string aranacak = "class=\"fl\""; //bulunacak kelimeyi belirttik 
 int FilmAdiBaslangicIndex = KaynakKodlar.IndexOf(aranacak) + 42;
//Yukarıda bulunacak kelimeden 42 karakter sonrasını almaya başladık
 int FilmAdiBitisIndex = KaynakKodlar.Substring(FilmAdiBaslangicIndex).IndexOf("\">");
//Yukarıda IndexOf("")  arasındaki kısmı bulunca aramayı sonlandırdık
 string metin = "Film Adı :" + KaynakKodlar.Substring(FilmAdiBaslangicIndex, FilmAdiBitisIndex);
//başlangıç ve bitiş arasındaki yazıyı metin stringine attık ve aşağıdada ekrana yazdırdık


 Response.Write(metin);


   //aşağıdaki kodlarda kaynağı çekmenin başka bir yolu
    

Add a Comment

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir