Re: [Linux-programlama] Python+javascript+saat çekme

---------

New Message Reply About this list Date view Thread view Subject view Author view Attachment view

From: Yuce Tekol (yucetekol@gmail.com)
Date: Mon 31 Jul 2006 - 17:55:08 GMT


Merhaba,

>
> Python'a yeni(ama paldır küttür) başlayan birisi olarak karşıma bazı engeller
> çıktı. Sorunum şöyle:
>
> Bir html dosyam olacak, bu dosyanın içinde form var. Bu formda İl seçeneği
> var. İstanbul'u seçip göndere basarsam İstanbul'a giden otobüslerin listesini
> çıkartıyor. Ankara'yı seçersem Ankara'yı.
>
> Python ile bu formu (gözden ırak olarak) açıp, GUI'de belirlediğim şehri HTML
> dosyasında seçtirip Gönder tuşuna bastırıp çıkan saat tablosundaki verileri
> alabilir miyim? Saat verileri 9 30 , 20 15 şeklinde. Düzenli ifadeler ile
> bu %d %d biçemindeki ifadeleri almayı beceremedim. (Baya bir aradım fakat
> iÅŸime yarar bir ÅŸey bulamadm)
>
> Denediğim yöntem HTML kodunu satır satır taratıp konumunu tespit etmekti:
>
> aranan='<td width="51" style="border-width:1px; align="center">'
> dosya='dosya.html'
> while satir:
> satir=dosya.readline()
> print satir
> if satir.find(aranan):
> konum=satir.find(aranan)+len(aranan)+11
> konum2=satir.find("&nbsp;</td>")
> a=satir[konum:konum2]
> print a #bunu elde edeyim de, geri kalanını hallediyorum...
>
> Ancak <td> nin parametrelerini ara sıra değiştirdiklerini farkettim.
> Dolayısıyla parametrelerin konumuna bağlı kalmadan sadece saati elde etmenin
> yolu var mı diye arıyorum.

HTML etiketlerinin icindeki bilgileri almak icin Python ile gelen
HTMLParser modulunu yada (ayrica kurman gereken) PyParsing'i
kullanabilirsin.

http://docs.python.org/lib/module-HTMLParser.html

PyParsing
http://pyparsing.wikispaces.com

> Bir de deneme amaçlı olarak öntanımlı İstanbul'u seçtim(option elemanının
> öntanımlısı) ve
> <body onload="document.form.submit()"> şeklinde bir ifade kullandım. Dün sabah
> çalışıyordu, formu gönderip tabloyu içeren HTML'in içeriğini alabiliyordu,
> fakat akşama doğru ne oldu bilmem, artık <body
> onload="document.form.submit()"> kısmını içeren benim HTML dosyamın kodlarını
> gönderiyor, saat listesini(formun gönderilmiş/yönlendirilmiş halini) değil.
>
> Bir de bu saatleri elde ettikten sonra en yakın saate ne kadar kaldığını
> dakika başı hesaplatmam gerekiyor. Bunun için hangi modülleri kullanmam
> gerekiyor?

Python ile gelen datetime modulune bakabilirsin. datetime.datetime
sinifindan iki nesneyi birbirinden cikararak bir timedelta nesnesi elde
edersin.

Mesela, asagidaki kucuk program, cumhuriyetin ilanindan itibaren kac gun
gectigini buluyor:

from datetime import datetime

cumhuriyetin_ilani = datetime(1923, 10, 29)
simdi = datetime.now()

kac_gun_gecti = (simdi - cumhuriyetin_ilani).days

Daha fazla bilgi:
http://docs.python.org/lib/module-datetime.html

SIk kullanilan baska bir zaman modulu:
http://www.egenix.com/files/python/mxDateTime.html

> Bu arada python için analog saat gösterim modülü göremedim
> googleda aratınca?

wxPython'in demolarinda bir analog saat uygulamasi var:
http://www.wxpython.org

> http://docs.python.org/modindex.html adresine bakıyorum da, başka modül deposu
> var mı?

Python paket indeksi:
http://www.python.org/pypi

Vaults of Parnassus
http://www.vex.net/parnassus/

>
>
> Çok Teşekkürler...
> _______________________________________________
> Linux-programlama mailing list
> Linux-programlama@liste.linux.org.tr
> http://liste.linux.org.tr/mailman/listinfo/linux-programlama

_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama


New Message Reply About this list Date view Thread view Subject view Author view Attachment view

---------

Bu arsiv hypermail 2.1.2 tarafindan uretilmistir.