2017-02-21 1 views
0

Ich studiere Crawling mit Python.Crawling nach dem Login in Python

Mein Ziel ist es, die Datei herunterzuladen.

Ich studiere jetzt login und es ist sehr schwierig.

http://www.kif.re.kr/kif2/login/login.aspx?menuid=56 

Zum Beispiel muss ich mich einloggen, um Dateien von dieser Seite herunterzuladen.

Ich habe verschiedene Informationen nachgeschlagen.

http://stackoverflow.com/questions/8316818/login-to-website-using-python 

Aber die Website, die ich will, scheint ein bisschen anders.

Ich konnte die meisten Websites, die keine Anmeldung erfordern, crawlen.

Allerdings kann ich Websites, die Anmeldung erfordern, nicht crawlen.

Also ich möchte wirklich diesen Teil studieren.

Mein Ziel ist es, sich anzumelden und dann den Code in HTML zum Crawlen anzuzeigen.

Unten ist mein Code. Ist das richtig?

from requests import session 

# ex) ID = abcd/PW = 1234 

payload = { 
'ctl00$ContentPlaceHolder1$tbxLoginID' : 'abcd', 
'ctl00$ContentPlaceHolder1$tbxLoginPW' : '1234' 
} 

with session() as c: 
    c.post('http://www.kif.re.kr/kif2/login/login.aspx', data=payload) 
    response = c.get('What should I write here?') 
    # response = c.get('http://example.com/protected_page.php') 
    print(response.headers) 
    print(response.text) 

Antwort

0

Sie verfehlten einige Login-Daten bildet, ist hier, wie die Nutzlast wie

payload = { 
    '__LASTFOCUS': '',#empty 
    '__VIEWSTATE': 'get this value from the login page source', 
    '__VIEWSTATEGENERATOR': 'get this value from the login page source', 
    '__EVENTTARGET': '',#empty 
    '__EVENTARGUMENT': '',#empty 
    '__EVENTVALIDATION': 'get this value from the login page source', 
    'ctl00$agentPlatform': '1', 
    'ctl00$menu_nav1$tbxSearchWord': '',#empty 
    'ctl00$ContentPlaceHolder1$radiobutton': '0', 
    'ctl00$ContentPlaceHolder1$tbxLoginID': 'abcd', 
    'ctl00$ContentPlaceHolder1$tbxLoginPW': '1234', 
    'ctl00$ContentPlaceHolder1$ibtnLogin.x': '36', #i think this is the mouse cursor position 
    #when clicked on login, not sure if its necessary 
    'ctl00$ContentPlaceHolder1$ibtnLogin.y': '25' 
} 

Antwort aussehen sollte = c.get ('Was soll ich hier schreiben?')

Schreiben Sie die URL der geschützten Seite! Wenn Sie es erfolgreich erhalten, dann sind Sie eingeloggt.

Verwandte Themen