2016-06-04 14 views
1

Ich versuche, mich auf einer Website mit Anforderungsbibliothek in Python anzumelden. Ich habe verschiedene Codes ohne Glück ausprobiert. Das ist mein Code:So melden Sie sich mit Python auf dieser Website an

url = 'https://www.damejidlo.cz/en/profile/prihlaseni' 
login_data = {'email': 'test', 
       'password': 'password', 
       'do': 'loginForm-submit'} 
session = requests.session() 
session.headers.update({'do': 'loginForm-submit'}) 
result = session.post(url, data=login_data) 
if "[email protected]" in result.content: 
    print("example.com:", "logged in") 
elif "Sign up" in result.content: 
    print("example.com:", "not logged in") 

Wie funktioniert es? Sie können Benutzerdaten verwenden, um die Anmeldung zu testen. Ich werde dieses Konto später löschen. Vielen Dank!

Wenn ich diesen Code ausführen, bekomme ich example.com: not logged in. D

+0

Was meinen Sie * „kein Glück“ *? – jonrsharpe

+0

Ich bekam Antwort 200 Code, aber ich war nicht eingeloggt. – Lucas03

Antwort

0

Es ist sehr einfach, man muss nur ein User-Agent hinzufügen müssen:: Ich möchte angemeldet sein

In [7]: import requests 

In [8]: from bs4 import BeautifulSoup 

In [9]: login = "https://www.damejidlo.cz/en/profile/prihlaseni" 

In [10]: data = {"email": "[email protected]", 
    ....:   "password": "xxxxxxxx", 
    ....:   "do": "loginForm-submit"} 

In [11]: h = { 
    ....:  "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.75 Safari/537.36"} 

In [12]: with requests.Session() as s: 
    ....:   r = s.post(login, data=data, headers=h) 
    ....:   soup = BeautifulSoup(r.content,"lxml") 
    ....:   print(soup.select_one("#snippet--user-bar a.username.user-bar__links-item").text) 
    ....:  

[email protected] 
+0

Schön, danke. Das ist mir in den Sinn gekommen, aber aus irgendeinem Grund habe ich es zu Daten hinzugefügt, nicht Header param :( – Lucas03

+0

Kein Problem, das einzige, was in Daten sein sollte, ist, was Sie posten, der Benutzer-Agent etc .. sind alle Teil von die Anforderungsheader –

Verwandte Themen