• Web sayfasına istek gönderilir,
  • Gönderilen isteğe karşılık gelen cevap alınır,
  • Karakter problemine karşı, gelen cevap encode edilir,
  • Encode edilen cevap okunur ve HTML formatına aktarılarak parçalanır(parse).
  • Uygulamamızda kullanacağımız HtmlAgilityPack.dll’yi projemize Reference olarak ekliyoruz. dll’mizin nimetlerinden faydalanabilmek için, aşağıdaki namespace’lerimizi de codebehind kısmına ekliyoruz.


    Projemize bir buton ekleyelim ve “Click” event’ına aşağıdaki kodları yazalım.


    HttpWebRequest nesnesi ile Google’a istek yolluyoruz. HtppWebResponse ile gönderdiğimiz isteğe karşılık gelen cevabı alıp, Encoding ile karakter problemine karşı önlem alıyoruz. StreamReader ile gelen cevabı okuyup HTML formatına çeviriyoruz. HtmlAgilityPack bu aşamadan sonra devreye giriyor. HtmlNodeCollection ile HTML Parse işlemine başlıyoruz.


    Kod satırı ile demek istediğimiz şu aslında, href değeri /intl/tr/ads/ olan a tagını getir. A tagını bu kod satırı ile aldıktan sonra a tagının elementlerine ulaşabilmek için foreach döngüsünü kullanıyoruz.
    Sonuç aşağıdaki gibi,
    Google sayfasında href değeri /intl/tr/ads/ olan a tagı;
    http://resim.sanalkurs.net/uploads/4_396.jpg
    Kodlamamız sonucunda botumuzun çektiği değer;
    http://resim.sanalkurs.net/uploads/5_336.jpg
    Bir başka duruma daha değinmek istiyorum. Mesela < i m g > tagının src değerine ulaşmak istesek ne yapmamız gerekir. Onun kodları da aşağıdaki gibi olacak. Ufak bir ekleme yapmamız yeterli;


    Burada İnternethaber’de yer alan bir haberin resim adresini çektik. Resmin link yapısı aşağıdaki gibi;
    http://resim.sanalkurs.net/uploads/7_200.jpg
    Kodlamamız sonucunda botun çektiği değer;
    http://resim.sanalkurs.net/uploads/8_160.jpg
    Son kodlamadaki olay, rel değeri image_src olan link tagının href değerini çektik. Asp.NET ile bot yazma diğer bir deyişle HTML Parse basit olarak bu kadar. Başka bir makalede görüşmek dileğiyle.
    Kaynak dosyayı indirmek için tıklayın