Python HTML ayrıştırma sorunu

Başlatan exploit++, 13 Mayıs 2013 - 21:46:07

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

exploit++

merhaba arkadaşlar ;

print response.read() komutu sitenin çıktısını ekrana yazdırıyor ve bu çıktı HTML Kodları oluyor, fakat ben bu HTML kodları arasında belli bir yerin çıktısını almak istiyorum

Örnek ;
Atıyorum Site hesabınızda Kaç TL Para olduğunu gösteren site olsun ve ID'a Göre Sorgulasın

Yazdığım python ;

1- form ları dolduruyor
2- "Submit"liyor
Daha Sonra response.read() komutu devreye giriyor ve çıktısı HTML Kodları Oluyor. ve çok anlamsız oluyor
ben Çıktıda Sadece Kaç TL Para Oldugunu Göstermesini istiyorum nasıl bir kod'a ihtiyacım olacak

yardımlarınızı bekliyorum ..


sem

Öncelikle bu başlık ile çok tepki alırsınız. Çünkü forum kurallarını ihlal etmiş bulunuyorsunuz.Başlığı konu ile ilgili bir şekilde düzenleyiniz lütfen. "Python HTML ayrıştırma sorunu" gibi bir şeyler mesela.

İkinci olarak da sorunu anlamadım. Siz anladığım kadarı ile HTTP sınıfları ile (urllib2 gibi vs) bir HTTP sorgusu gönderiyorsunuz ya dönen sonucu ise read ile okuyorsunuz.  sorun bu mudur? HTML kodları arasından istediğiniz kısmın ayrıştırılması mıdır? HTML kodlarını ayrıştırma (parsing) için güzel bir kütüphane var; BeautifulSoup isminde. Hatta forumda örnek bir uygulama bulabilirsiniz;

http://forum.ubuntu-tr.net/index.php?topic=37984.0

Bu şekilde gelen HTML istediğini ayrıştırabilirsiniz.

Bir diğer alternatif olarak ise eğer HTML kodunu basan servisi de siz geliştiriyorsanız uygulamanın bu servisini ikiye ayırabilirsiniz. Bir tanesi tarayıcılara hizmet verebilir örneğin; tarayıcılar HTML dilini anladığı için tarayıcılardan gelen isteklere HTML basabilir, diğer şekilde salt bilgi isteyen istemcilere ise bilgileri JSON, XML vs gibi bir formatta basabilirsiniz.

Sorunu anladığım kadarı ile bu iki şekilde çözüme gidebilirsiniz. Ya da BeautifulSoup yerine kendiniz basit bir sınıf yazarak HTML'den salt string işlemleri ile ilgili bilgileri döndüren metodlar yazabilirsiniz;

def guncelBakiye(html_code);
def sonIslem(html_code);

vs gibi... parametre olarak HTML kodunu gönderip sonuç olarak istediğinizi alırsınız...
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

exploit++

Çok Teşekkür Ediyorum Sorunumun Cevabını Sizin Sayenizde Buldum Galiba ,

Konu Başlığı Düzeltildi .

sem

Sorununuzun çözüldüğüne sevindim. 

Sorun çözüldüğünde çözümü paylaşabilirseniz,  sizden sonra aynı sorunu yaşayabilecek arkadaşlar için yol gösterici olmuş olursunuz.

Kolay gelsin.
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

burk

Çözüldü etiketi için; cozuldukonusu