C# Web sayfasından belirli bir veri çekme

Kazım Karakaya

Kilopat
Katılım
3 Ekim 2016
Mesajlar
135
Yer
İzmir
Daha fazla  
Cinsiyet
Erkek
Meslek
-
C#'da Web sitesinden belli bir bölümü çekerken ne yazık ki istemedigim çıktıyı gösteriyor. Kodlarım ve çekmek istedigim kısımlarda burada:

C#:
try
            {
                string IGN = username.Text;
                var url = new Uri("https://mcuuid.net/?q="+IGN); // Textboxa yazılan username'i alarak url oluşturdum
                var client = new WebClient();
                var html = client.DownloadString(url);
                HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
                doc.LoadHtml(html);
                var veri = doc.DocumentNode.SelectNodes("/html/body/div/div/ul/li/div/div[2]/table/tbody/tr[2]/td[2]/input")[0]; // siteden istedigim verinin kopyaladıgım xpath'ini buraya yapıştırdım
                if (veri != null)            
                {
                    uuid.Text = veri.InnerHtml;
                    testlbl.Content = veri.InnerHtml;
                    MessageBox.Show(veri.InnerHtml);
                }
            }
            catch
            {
                MessageBox.Show("Hata");
            }

Ayrıca uygulamadan bu çıktıyı alıyorum:
1580743799784.png

Fakat Ben bu çıktıda sadece value değerini almak istiyorum
 
Son düzenleme:
C#:
private void buttonCek_Click(object sender, EventArgs e)
        {
            var url = new Uri("https://www.bloomberght.com/doviz/dolar"); // url oluştruduk
            var client = new WebClient(); // siteye erişim için client tanımladık
            var html = client.DownloadString(url); //sitenin html lini indirdik
            HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); //burada HtmlAgilityPack Kütüphanesini kullandık
            doc.LoadHtml(html); // indirdiğimiz sitenin html lini oluşturduğumuz dokumana dolduruyoruz
            var veri = doc.DocumentNode.SelectNodes("/html/body/div[1]/div[5]/div[4]/div/div/div[1]/div/div[2]/div/div[1]/div/text()")[0]; // siteden aldığımız xpath i buraya yazıp kaynak kısmını seçiyoruz
            if (veri != null)
            {
                label1.Text = "Dolar:" + veri.InnerHtml;
            }

        }

HtmlAgilityPack kütüphanesi kullanman lazım bunun için ben sana bir örnek yazıp verdim bu örnekten fikir elde edebilirsin.
 
C#:
private void buttonCek_Click(object sender, EventArgs e)
        {
            var url = new Uri("https://www.bloomberght.com/doviz/dolar"); // url oluştruduk
            var client = new WebClient(); // siteye erişim için client tanımladık
            var html = client.DownloadString(url); //sitenin html lini indirdik
            HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); //burada HtmlAgilityPack Kütüphanesini kullandık
            doc.LoadHtml(html); // indirdiğimiz sitenin html lini oluşturduğumuz dokumana dolduruyoruz
            var veri = doc.DocumentNode.SelectNodes("/html/body/div[1]/div[5]/div[4]/div/div/div[1]/div/div[2]/div/div[1]/div/text()")[0]; // siteden aldığımız xpath i buraya yazıp kaynak kısmını seçiyoruz
            if (veri != null)
            {
                label1.Text = "Dolar:" + veri.InnerHtml;
            }

        }

HtmlAgilityPack kütüphanesi kullanman lazım bunun için ben sana bir örnek yazıp verdim bu örnekten fikir elde edebilirsin.
Zaten bu kütüphaneyi kullanmasam yazdıgım koddan çıktı alamazdım bende bu örnekden yola çıkarak yaptım fakat işler yolunda gitmedi
 
C#:
private void buttonCek_Click(object sender, EventArgs e)
{
var url = new Uri("https://www.bloomberght.com/doviz/dolar"); // url oluştruduk
var client = new WebClient(); // siteye erişim için client tanımladık.
var html = client.DownloadString(url); //sitenin html lini indirdik.
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); //burada HtmlAgilityPack Kütüphanesini kullandık.
doc.LoadHtml(html); // indirdiğimiz sitenin html lini oluşturduğumuz dokumana dolduruyoruz.
var veri = doc.DocumentNode.SelectNodes("/html/body/div[1]/div[5]/div[4]/div/div/div[1]/div/div[2]/div/div[1]/div/text()")[0]; // siteden aldığımız xpath i buraya yazıp kaynak kısmını seçiyoruz.
if (veri != null)
{
label1.Text = "Dolar:" + veri.InnerHtml;
}

}

Htmlagilitypack kütüphanesi kullanman lazım bunun için ben sana bir örnek yazıp verdim bu örnekten fikir elde edebilirsin.

Merhaba çok fazla C# bilgim yok internetten veriyi çekmeye çalışıyorum ancak xpathin içinde zaten çift tırnak olduğu için yazı olarak algılamıyor stringde algılayamıyor xpath i giremediğimden veriyi çekemiyorum yardımcı olur musunuz lütfen.
 

Yeni konular

Geri
Yukarı