2017-07-11 79 views
5

Python ve web kazıma işlemlerinden yeni çıkıyorum. Ve bir web sitesini kazımanın ilk adımını bile alamıyorum: giriş. mechanize veya selenium'u kullanmaya başlamadan önce, önce requests'u kullanmak istiyorum. Birisi bana yardım edebilir mi?Bu siteye giriş yapmak için python isteğini nasıl kullanabilirim?

Oturum açmaya çalıştığım web sitesi here.

Hesabı olmayan ve bana yardımcı olmak isteyenler için Chrome'u kullanarak sahip olduğum bilgileri vereceğim.

İlk POST: POST_1.JPG. ikinci POST: Burada POST_2.JPG

Ve giriş girişimi için benim kodudur:

import requests 

s = requests.Session() 
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36'} 
payload = {'username': 'USERNAME', 
      'password': 'PASSWORD', 
      'submit.x': '21', 
      'submit.y': '12'} 

s.post('https://ssologin.cuny.edu/oam/server/auth_cred_submit', data = payload, headers = headers) 
target_page = s.get('https://home.cunyfirst.cuny.edu/psp/cnyepprd/EMPLOYEE/EMPL/h/?tab=DEFAULT', headers = headers) 

if 'login' in target_page.url: 
    print("Failed to Login") 
else: 
    print("Logged in Successfully!") 

Teşekkür !!!

+0

bir kullanıcı adı ve şifre o kadar –

cevap

4

sadece olduğu gibi sayfanın davranışı yeniden zorunda:

from requests import Session 

login_data = { 
    'username' : 'YOUR_USERNAME_HERE', 
    'password' : 'YOUR_PASSWORD_HERE', 
    'submit.x' : '41', 
    'submit.y' : '2', 
} 

headers = { 
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36', 
    'Referer': 'https://ssologin.cuny.edu/cuny.html?resource_url=https%3A%2F%2Fhome.cunyfirst.cuny.edu%252Fpsp%252Fcnyepprd%252FEMPLOYEE%252FEMPL%252Fh%252F%3Ftab%253DDEFAULT', 
} 

s = Session() 

s.get("https://home.cunyfirst.cuny.edu/psp/cnyepprd/EMPLOYEE/EMPL/h/?tab=DEFAULT") 
s.post("https://m.addthis.com/live/red_lojson/100eng.json?sh=590&ph=1512&ivh=590&dt=5366&pdt=11272&ict=&pct=1&perf=widget%7C11273%7C1445%2Clojson%7C12846%7C236%2Csh%7C12848%7C79&rndr=render_toolbox%7C13088&cmenu=null&ppd=0&ppl=0&fbe=&xmv=0&xms=0&xmlc=0&jsfw=jquery&jsfwv=jquery-1.7.1&al=men&scr=0&scv=0&apiu=1&ba=3&sid=59646cef3b3fdec3&rev=v7.15.4-wp&pub=cunywebservices&dp=ssologin.cuny.edu&fp=cuny.html%3Fresource_url%3Dhttps%253A%252F%252Fhome.cunyfirst.cuny.edu%25252Fpsp%25252Fcnyepprd%25252FEMPLOYEE%25252FEMPL%25252Fh%25252F%253Ftab%25253DDEFAULT&pfm=0&icns=") 
response = s.post("https://ssologin.cuny.edu/oam/server/auth_cred_submit", data=login_data, headers=headers) 

if 'Sign out' in response.content: 
    print "[*] Logged in successfully!" 
else: 
    print "[!] Couldn't login..." 
+0

Teşekkür olmadan yardımcı olamaz! Bir çekicilik gibi çalışır! Bilmiyordum ilk önce GET ve sonra POST. –

+0

Zevkim @jhhPhi –

+0

Neden önce GET'e sahip olduğumu açıklayabilir misiniz? @ Andrés Pérez-Albela H –