• 25-07-2013, 01:11:10
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Selamlar
    Bu yazıda uzak siteye bağlanıp oradaki url leri ve bunların başlıklarını çekmeyi göstereceğim.

    Başlayalım



    Alıntı
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Text.RegularExpressions;

    using System.Net;
    using System.Text;

    namespace DOTNET
    {
    public partial class BilisimTurk: System.Web.UI.Page
    {

    protected void Page_Load(object sender, EventArgs e)
    {
    Regex rgexp = new Regex("<a href=\"([^\"]+)\">([^<]+)</a>");//regex kalıbımız
    //<a href=" ile başladıktan sonra " karakteri ile karşılaşana kadar olan yazıyı aldık.Bu href özelliğinin texti yani linkimiz
    //title ı alırken de < karakterine kadar olan texti aldık bu da anchorun title ı
    string SiteUrl = "http://www.bilisimturk.org/forum"; /url miz
    WebClient wb = new WebClient(); // verdiğimiz url ye bağlanıp veri çekecek sınıf
    wb.Encoding = Encoding.UTF8; // karakterleri düzgün çekmesi için utf 8 yaptık
    StringBuilder sb = new StringBuilder(); sadece string olarak tanımlarsanızda olur ben builder kullandım
    sb.Append(wb.DownloadString(SiteUrl)); // buildera webclient ile bağlanıp aldığımız stringi ekledik

    MatchCollection mt = rgexp.Matches(sb.ToString()); //tüm eşleşmeleri aldık

    foreach (Match mtx in mt)
    {

    Response.Write("Link: <span style='background-color:yellow'>" +
    mtx.Groups[1].Value + "</span> Title : <span style='background-color:yellow'>" +
    mtx.Groups[2].Value + "</span><br>");
    // Groups[0] eşleşen tüm değerleri basar.biz önce hrefi sonra title ı almak için 1 ve 2 . indisleri kullandık
    }

    }

    }
    }

    Sonuç



    Kaynak
  • 25-07-2013, 01:13:53
    #2
    Güzel anlatmışsınız elinize sağlık. Fakat ben daha geniş kapsamlı bir kullanım için "html agility pack" öneririm. Özellikle son sürümün kullanımı çok kolay.
  • 25-07-2013, 08:15:03
    #3
    Güzel bir anlatım olmuş teşekkürler.
  • 25-07-2013, 10:25:14
    #4
    eline saglik, lakin

    stringbuilder nesnesinin icini doldurmussun ama hic kullanmamissin.
  • 25-07-2013, 10:32:26
    #5
    RaMoN adlı üyeden alıntı: mesajı görüntüle
    eline saglik, lakin

    stringbuilder nesnesinin icini doldurmussun ama hic kullanmamissin.
    Deneme yaparken bi ara silmiştim unutmuşum.Güncelledim şimdi teşekkürler