Python Mechanize Modülü ile Giriş Yapmak

Python'da mechanize modülü kullanarak bir siteye giriş yapma aşamalarına bakalım isterseniz. Bunun için mechanize modülünün bilgisayarınızda kurulu olması gerekiyor. Olmayanlar bu modülü buradan indirip kurabilir.
Mechanize modülü bize sunduğu bir sanal tarayıcıdır. Aynı Mozilla, Chrome, Opera gibi düşünebilirsiniz. Ama tek farkı bu tarayıcıda işlemleri kodlarla gerçekleştiriyoruz ve görsel bir arayüzüde yok.



Bu yazımızda bu modülü kullanarak bir siteye giriş yapacağız. Bunun için öncelikle kodlarımızı tek tek açıklayarak inceleyelim.












1. import mechanize
-Bu komut mechanize modülünü kullanabilmek için sayfamıza aktarıyoruz.

2. br = mechanize.Browser()
- Nasıl bir kullandığımız tarayıcıda bir siteye girmek için öncelikleo tarayıcıyı açıyorsak aynı şekilde mechanize tarayıcımızı açmamız gerekiyor. Bu tarayıcımızı da br adlı bir değişkene atıyoruz ki işlemlermizi onun üzerinden yapalım.

3. ac = br.open("http://www.bileciksozluk.com/giris_kontrol")
- Tarayıcımızı açtıktan sonra giriş yapacağımız siteyi açmamız gerekiyor. Bunun için br.open() fonksiyonunu kullanıyoruz. Bu fonksiyon sayesinde istediğimiz sitenin giriş yapacağımız adresine ulaşıyoruz. Ben burada www.bileciksozlük.com adlı sitenin kullanıcı giriş sayfasını yazıdım.

4. kadi  = raw_input("Kullanıcı Adını Giriniz : ")
    sifre = raw_input("Şifreyi Giriniz : ")
-Bu kodlarla yaptımız siteye giriş yapmadan önce kişinin kullanıcı bilgilerini almak. Burada kullanıcı adımızı kadi ve parrolamızıda sifre adlı değişkene atadık. Böylece girdiğimiz Kullanıcı adı ve şifresi kullanılarak giriş yaplacak.

5. br.select_form(nr=1)
- Gelelim bizim için en önemli olan yere select_form() fonksiyonuzu girmiş olduğumuz sayfadaki işlem yapıcağımız formu seçmeye yarıyor. Parantezlerin içine tanımladığımız nr=1 ise giriş yapacağımız sayfa kaynağını açıp baktığımız <.form...><./form> ile başlayan formlar içinde sıfırdan başlayan bir sıralama yapar bizim giriş formumuz ikinci sırada yer alıyor. Fonksiyonumuz sıralamaya sıfırdan başladığı içinde sıramız 1 oluyor. Böylece üzerinde işlem yapacağımız form'u seçiyoruz.

6. br.form["kadi"] = kadi
    br.form["sifre"] = sifre
- Giriş yapacağımız sayfanın kaynak koduna baktığımızda 
<.form. action="http://www.bileciksozluk.com/giris_kontrol" method="post" accept-charset="utf-8" id="girisForm"><.input. type="text." name="kadi" value="" placeholder="kullanıcı adı" />
<.input. type="password." name="sifre" value="" placeholder="parola" />
<.input. type="submit." name="" value="giriş yap" />

kullanıcı adı ve şifreyi gireceğimiz inputların name(isim) değerleri kadi ve sifre bize lazım olanlarda bunlar. Bunları bildikten sonra br.form fonksiyonumuzu kullanarak bu isimdeki inputun içine "4 nolu açıklamada anlattığımız kullanıcı adı ve şifre bilgilerini yaz" diyoruz.


7. br.submit()-Son olarak submit fonkisyonu ile formumuza doldurduğumuz kullanıcı adı ve şifreler ile giriş yapmak kaldı. Bu fonksiyonumuzda giriş yapmamızı sağlar.

Böylece siteye python ile giriş yapmış olduk. Peki giriş yaptığımızı nasıl anlayacağız derseniz.
print br.open("http://www.bileciksozluk.com").read()
diyerek anasayfanın read() fonksiyonu ile kaynak kodlarını çekeriz ve bu kodlardan giriş yapıp yapmadığımızı anlayabiliriz.

Not: Kodları indirmek için buraya tıklayın.

Yorumlar

  1. hocam merhaba " br.select_form(nr=1) " görsel olarak anlatabilirseniz çok sevineceğim örnek olarak herhangi bir sitenin form alanına baktım ancak 0 veya 1 bunu neye göre belirliyorsunuz?

    YanıtlaSil

Yorum Gönder

Popüler Yayınlar