Mechanize modülü kurulumu:
- Pardus'da konsoldan "sudo pisi it mechanize".
- Windows'da setup. direk kuruluma sahibtir.
#!/usr/bin/env python
#-*- coding:utf-8 -*-
import mechanize
#modülümüz yüklendi
def baglan():
global b
b=mechanize.Browser()
b.open('https://www.vodafone.com.tr/MyVodafone/login.php')
b.select_form(nr=1)
mechanize.Browser() ile tarayıcımızı oluşturduk, open ile sayfayı açtık, select_form ile sayfadaki 1. formu seçtik. Peki nedir bu form? Bu form bizim vodafona giriş için kullanacağımız kullanıcı adı ve şifresi bölümüdür. Daha açık bir şekilde bu form aşağıdaki gibidir;
>>> b.select_form(nr=1)
>>> print b
<browser visiting="" tr="" myvodafone="" php="" selected="">
<post tr="" myvodafone="" php="" application="" urlencoded="">
<textcontrol(gsmno=)>
<passwordcontrol(mypass=)>
</passwordcontrol(mypass=)></textcontrol(gsmno=)></post></browser>
Görüldüğü üzere sayfanın yukardan aşağıya doğru sıralamasında 1. form statüsünde olan formu seçtik çünkü vodafona giriş yapmak üzereyiz. Bu formda iki alan gözüküyor, bunlardan birincisi GsmNo diğeri MyPass. Sorumuz ise bu form girişlerini nasıl yapacağımız olacak !
Devam edelim!
def giris():
global b
gsmno=raw_input("GSM NO :") # numara girişi(543)
vodos=raw_input("Vodafon Şifreniz:") #-->şifre
b["GsmNo"]=gsmno # form girişi yapılıyor
b["MyPass"]=vodos
print "Bağlaniyor"
r=b.submit() # form bilgileri yollanıyor
try:
b.open('https://www.vodafone.com.tr/MyVodafone/myvodafone.php?pageId=WebSms') # websms sayfası
b.select_form(nr=1) #--------------->websms sayfasındaki (mesaj yollama) formumuz
except:
print "Bağlandi"
print "Hatalı Numara veya Şifre"
exit(1)
Buraya kadar yaptıklarımızı özetleyelim.
1. Vodafon sayfasını açıldı,
2. Vodafon sayfasına giriş yapıldı,
3. Girişimiz hatalı değil ise mesaj yollama sayfası açıldı,
Geriye sadece mesaj yollamak kaldı.
def mesaj_cek():
global b
try:
print "Mesaj Yollanacak Numaranın(Örn 543) kodu:"
yolk1=raw_input()
print "Mesaj Yollanacak Numara(Örn 4658758) kodu:"
yolk2=raw_input() #Örnein 4658758
try:
b["WebSimSmsUserGsmPrefix"]=[yolk1] #---->Numaramızın ilk 3 hanesi
b["WebSimSmsUserGsmNo"]=yolk2 #-------->Numaramızın devamı
except:
print "yanlis giris yaptiniz!"
exit(1)
print "Yollacak Mesajı Giriniz:"
mesaj=raw_input() #------------------------->Yollanacak mesaj
b["WebSimSmsText"]=mesaj #------------------>Mesajımız forma girildi
print "Mesaj yollanıyor"
r=b.submit() #------------------------------>Mesaj yollandı
print "Mesaj yollandı"
except:
print "GUNLUK SADECE 1 MESAJ HAKKINIZ VAR!!!"
exit(1)
b.close()
baglan()
giris()
mesaj_cek()
Bu kodun tamamı Burada
Neler yapılabilir;
- Sınırsız mesaj sayfasından,sınırsız mesaj çekilebilir
- Diğer operatörlerden benzer uygulamalar yapılabilir
- Bayram,kandil,yıl başı gibi toplu mesaj atılmak istendiğinde bir veritabanı oluşturup,veritabanındaki listedeki kullanıcılara mesaj atılabilir
- İstediğimiz web sayfasından istediğimiz bilgiyi alabilir ve web sayfalarını otomatikleştirebiliriz
selamlar örnek için teşekkürler.
YanıtlaSilben windows altında python ıdle kullanıyorum mechanize diye bir modül yok diyor.nasıl halledebilirim.
http://wwwsearch.sourceforge.net/mechanize/#source
YanıtlaSilbu adresten indirip kurabilirsiniz.
elinize sağlık...
YanıtlaSilbirde bir anket için nasıl bir betik hazırlamalıyız bunun örneğini verirseniz çok sevinirim
mesela 4 tane radiobutton ve bir gönder butonu olan formda radibuttonlardan birini seçip gönder butonuna basmak gibi...