Facebook hesap bağlantınızı yeniden yapmanız gerekmektedir. Hesabınızı yeniden bağlamak için buraya tıklayınız.
Not: Hesabınızı bağladıktan sonra bu uyarı bir daha gözükmeyecektir.Tamam
Soru, Konu, Kişi ve Yazılarda aramak için yazmaya başla
Serhat Öz
Yazılım Geliştirme Uzmanı50 puan
Erdinç Ayvaz, Kaynak kodlarındaki verileri HtmlAgilityPack ile çekiyorum örnek kodlarım : Uri url = new Uri("site adı"); WebClient client = new WebClient(); client.Encoding = Encoding.UTF8; string html = client.DownloadString(url); HtmlAgilityPack.HtmlDocument document = new HtmlAgilityPack.HtmlDocument(); document.LoadHtml(html); HtmlNodeCollection sitekodlari = document.DocumentNode.SelectNodes("//div[@class='çektiğimiz veri']");jquery, json, ajax metotlarını daha önceden de araştırmama rağmen bir sonuca varamamıştım zaten buraya sorma ihtiyacı duydum. Tavsiyenizi detaylandırır mısınız?
Serhat Öz, Bu yöntemlede kaynak kodlarını cekebilirsin..Kolay gelsin.private static string GetSourceCode (string url) { HttpWebRequest request = (HttpWebRequest) WebRequest.Create(url); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); using (StreamReader stRead = new StreamReader(response.GetResponseStream(), Encoding.UTF8)) { return stRead.ReadToEnd(); } } protected void btnVeriGetir_Click(object sender, EventArgs e) { string document = GetSourceCode("google.com/"); Yazi.InnerText = document; }
Erdinç Ayvaz, İlginiz için çok teşekkür ederim fakat bu şekilde de tıpkı benim kullandığım yöntemdeki gibi dinamik html kaynak kodlarını çekmiyor. Sanırım ajax metotlarına yoğunlaşmam gerek diye düşünüyorum
Serhat Öz, tam olarak ne yapmak ıstedıgını anlamadım, benımde ılk baslarda bı dusuncem vardı ıste bı tımer koyup bellı sanıye aralıklarıyla update panel ıcınde verılerın guncel halını goruntulemek gıbı onun gıbı bısey mı demek ıstıyorsun tam olarak dınamık kaynak kodu nedır?? benım bunu yapmaktakı amacım acık arttırma sıstemı ıcındı senın amacın nedır ??
Erdinç Ayvaz, Dinamik kaynak kodu diye anlatmaya çalıştığım olay şu;Öncelikle bir siteden tablo verilerini çekiyorum, sitede genel tablo ve detaylı tablo var. Ben detaylı tablonun verilerini çekmek istiyorum ancak o siteye ilk girişte sadece sadece genel tablo verileri paylaşılıyor. Yani detaylı tablonun verileri kaynak kodda bulunmuyor. Verileri çekeceğim sayfada 2 adet buton var biri detaylı biri ise genel, detaylı butonuna tıkladığımızda site linkinde değişiklik olmadan detaylı tablosundaki veriler javascript ile yükleniyor. istediğimiz veriye öğeyi denetle dediğimiz zaman görebiliyoruz fakat bu html kodlar sonradan yüklendiği için sayfanın ilk başında gelen kaynak kodlarında olmuyor. Bizim yazdığımız kodlarda ise istediğimiz siteye ilk girişteki kaynak kodları çektiğinden detaylıdaki verileri çekemiyoruz. Bu yüzden ben detaylı tablosundaki html kaynak kodlarına dinamik kaynak kodu dedim. Sorunum ise javascript ile sonradan yüklenen kaynak kodlarını c# ile çekememem.
Orhan Tutum
Bilgisayar Programcısı477 puan
Erdinç Ayvaz, Son düşündügüm olayda buydu aslinda düşünceme tercüman oldunuz :) Gizli bir webbrowser ile sitede once kendi istedigim butona tiklatmak ardindan webbrowserin çektiği html kodlarini kullanmak mantıklı. Başarısı gayet muhtemel bi yöntem. Tavsiyeniz için teşekkürler
Orhan Tutum, Rica ederim. Kolay gelsin o zaman. :)
Erdinç Ayvaz, webbrowser ile sayfayı tamamen yükledikten sonra istediğim butona tıklattırıyorum javascriptleri yüklüyo istediğim sayfayı açıyor fakat html kodlarını istediğim sayfayı açtıktan sonra çektiğimde yine sayfanın ilk html kodlarını veriyor. istediğim html kodlarını çekmiyor malesef :(
Orhan Tutum, İçeriği bu şekilde mi? textBox1.Text = webBrowser1.DocumentText;Yoksa bu şekilde mi okuyorsunuz? textBox1.Text = webBrowser1.Document.Body.InnerHtml;
İlgili Sorular
Web Siteleri
Sosyal hesaplarınla üye olFacebook · Twitter · Linkedin
Üyeler Kullanım Şartları'nı kabul etmiş olur.
İstatistikler
Konu Başlıkları
Düzeltme kaydedildi :) Lütfen sayfayı güncelleyin.
Düzeltme gerçekleştirilemedi!
Toplam 0 düzeltme bulundu. 0 ms.
Şikayet etmek istediğinizden emin misiniz?
Evet, RaporlaHayır, Vazgeçtim