HTML parsede Ajaxlı sayfalar

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Lord_Ares
Üye
Mesajlar: 1070
Kayıt: 15 Eki 2006 04:33
Konum: Çorlu

HTML parsede Ajaxlı sayfalar

Mesaj gönderen Lord_Ares »

Merhaba arkadaşlar şu HTML parse işlemlerine oldukça takmış durumdayım fakat web sistemi okadar değişken ki kodlarımı bir türlü sabitleyemedim :)))
Mesela normal htlm sayfalarda parse işlemlerinde sayfanın tamamını parse etmekte sorun yok ama ajax ile yapılmış sayfalarda siz sayfayı kaydırdıkça aşağı doğru akan bilgi akışı olan sayfalarda sorun.( Siz kaydırma çubuğunu aşağı çektikçe veya daha fazlasını göster dedikçe sayfaya yeni bilgiler eklenip uzayıp gider ) Bu sayfalara örnek Nesine.com sitesindeki kupondaş kısmı benim istediğim kısım. Sayfayı ilk açtığınızda çıkan o an size görünen tüm bilgileri sayfa kaynağında görüp çekebiliyoruz fakat daha fazlasını göster dediğinizde sayfaya yeni bilgiler ekleniyor işte bunları göremiyoruz. Görmek için kaynak kodu sürekli yenilemek gerekiyor. Bu tür bir sayfadaki tüm veriyi almak için neler yapılabilir. Sizlerden bu konuda gerek kod gerek fikir olarak yardımınızı rica ediyorum.

Kendi fikrim şu şekilde
1) ilk açılan sayfadaki tüm kodu bir dosyaya kaydet ve sayfadaki daha fazla göster buttonuna tıklat. En son kaldığın noktayı bul ve bundan sonrasını al.
(Burada en son kaldığım noktayı bulduramıyorum çünkü bulmak için belli bir sabit veremiyorum. Aynı üye adı bir çok yerde geçiyor , açıklamalar aynı olabiliyor vs..)
2) Sayfa açıldığında daha fazla göster buttonunu tıklayarak bilgilerin sonuna kadar gitmek ve sona gelindiğinde tüm sayfayı alıp parse etmek.
( Bundaki sıkıntı daha fazla göster buttonu tıklandıkça , sayfanın kaynak kodunda, tıklamadan önceki bilgilerin yenileri ile değişmesi. )

Bu tür sayfalarda sizlerin çözümleriniz ne oldu ? Nasıl bir çözüme gittiniz paylaşırsanız sevinirim.
Teşekkürler
Lord_Ares
Üye
Mesajlar: 1070
Kayıt: 15 Eki 2006 04:33
Konum: Çorlu

Re: HTML parsede Ajaxlı sayfalar

Mesaj gönderen Lord_Ares »

Anlaşılan kimse karşılaşmamış böyle bir durumla fikir bile yok :))) Neyse konu silinebilir. Teşekkürler yinede
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: HTML parsede Ajaxlı sayfalar

Mesaj gönderen mrmarman »

Karşılaştık ve zaten cevabı vermişsin (2) nolu paragrafta. :D Bu çözümden neden sıkıntı duydun ki ? Onu ifade etmemişsin...
Ben de şahsım adına cevap yazma gereği bile hissetmedim. Çünkü havada bir soru olmuş değil mi.. :wink:

Blok olarak nihai HTML'yi alarak onu parse edeceksin o kadar. Ne kadar ekleme yapılıyor olsa da o da bir robottan çıkıyor. Standartları yüksek olacaktır.
Resim
Resim ....Resim
Lord_Ares
Üye
Mesajlar: 1070
Kayıt: 15 Eki 2006 04:33
Konum: Çorlu

Re: HTML parsede Ajaxlı sayfalar

Mesaj gönderen Lord_Ares »

Hocam merhaba, normal bir html sayfa olsa fikirlerim işe yarayabilirdi fakat ajax işin içine karışınca olmadı. o yüzden farklı fikir arayışıydı amacım. Sanırım gözünüzden kaçmış yada ben isteğimi tam belirtememişim.
Sizlerden bu konuda gerek kod gerek fikir olarak yardımınızı rica ediyorum.
Yapmak istediğim sayfa açıldığında çıkan sonuçların her birine click gönderip detaylarını açmak kaynak kodu alıp bir kenara kaydetmek. Ardından sayfanın kaydırma çubuğu veya mouse scrool yardımıyla sayfayı aşağı çekip yeni açılan sonuçlarda aynı şeyi yapmak. Böyle böyle ilerleyerek çıkan tüm sonuçları almak. Çünkü bütün sonuçlar siz sayfayı kaydırdıkça ve her bir kişiye click attıkça kaynak koda ekleniyor. İlk açıldığında hepsi kaynak kodda gelse sıkıntı yok :)))

Aşağıdaki görselde kaydırma çubuğunun değişimine bakın. Click attıkça yukarı , sayfayı kaydırdıkça aşağı doğru değişiyor.Dolayısıyla sayfa sonunu bulamıyorum. Bulamadığım içinde tüm sonuçlar ekrana gelmeden işlem yapmak zorunda kalıyorum. Neyse araştırıyorum bakalım nasıl bir fikir bulacağım.
İlginiz için teşekkürler.

Resim
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: HTML parsede Ajaxlı sayfalar

Mesaj gönderen mrmarman »

Hocam, html body bir önceki java request ile bir sonraki java request arasında değişmiyorsa tüm veri çekilmiş demektir. Basit bir loop ile çözersin. OnDocumentComplete vs. işini görmez bunu tecrübe etmişsindir daha önce de paylaştığım şekilde ajax blok sonu geldiğinde ( outerhtml string değişkene aktarıp fark kontrolü ile) global bir değişkeni true yapınca bekleme sona erecek şekilde yapılandıracaksın.
Resim
Resim ....Resim
Lord_Ares
Üye
Mesajlar: 1070
Kayıt: 15 Eki 2006 04:33
Konum: Çorlu

Re: HTML parsede Ajaxlı sayfalar

Mesaj gönderen Lord_Ares »

Anladım hocam , bu mantık ve fikir ile bir deneyip inceleyeyim. Tam html parseyi kavrarken html deki bu değişimler beni epey zorladı :D:D sanırm epey geç yetişiyorum
Cevapla