Ich lese mehrere ähnliche Thema .. Ich versuche, die anderen Beispiele zu folgen, aber ich bin immer noch in der Mitte von Nirgendwo .. Ich habe grundlegende Fähigkeiten der Python-Programmierung und wenig Wissen über http Protokoll, meine beiden Ziele sind: -succesfull Authentifizierung auf einer Website über Anfragen Bibliothek -fetch Daten von der Website nach dem Login, während die Sitzung aktiv istPython Authentifizierung mit Anfragen Bibliothek über POST
Dies ist der Code:
import requests
targetws = 'https://secure.advfn.com/login/secure'
s = requests.session()
payload_data = {'login_username': 'xxx', 'login_password': 'yyy'}
response = s.post(targetws, data=payload_data)
url='https://it.advfn.com/mercati/BIT/generali-G/ordini'
result = s.get(url)
print result.content
Aber ich bekomme immer keinen Erfolg mit Login. Vielleicht vermisse ich etwas Wert in Post-Daten wie Aktion einreichen oder sonst? Jede Hilfe wird geschätzt, mit freundlichen Grüßen!
Hier wird der HTML-Code der Seite:
form action="https://secure.advfn.com/login/secure" id="login_form" name="login_form" method="POST" target="">
<input type="hidden" value="aHR0cDovL2l0LmFkdmZuLmNvbQ==" name="redirect_url" id="redirect_url">
<input type="hidden" value="it" name="site" id="site">
<div class="fields"><label for="login_username">Username</label>
<input type="text" tabindex="1" class="text ui-widget-content" value =""
id="login_username" name="login_username" maxlength="64">
</div>
<div class="fields"><label for="login_password">Password</label>
<input tabindex="2" type="password" class="text ui-widget-content" value="" id="login_password" name="login_password" maxlength="16">
</div>
<div class="fields">
<strong><a href="/common/account/password/request">Se ti sei dimenticato la tua password</a></strong>
<input class="button" tabindex="3" type="submit" value="Accedi" id="login_submit">
</div>
</form
Was ist die Antwort erhalten Sie zurück, wenn der Login-Versuch fehlschlägt? Überprüfen Sie die Attribute 'status_code' und' text'. –
Danke für Ihre Antwort, Statuscode immer 200 und Text: 200 Traceback (jüngste Aufforderung zuletzt): File "deepbook.py", Zeile 21, in Druck result.text UnicodeEncodeError: 'ascii' Codec kann nicht codiere das Zeichen u '\ xe0' an Position 909: Ordinalwert nicht im Bereich (128) –
egariM
Dein Verbindungstyp erwartet den Header von form-url-codiert und du sendest das json-Objekt. data = 'username =' + user + '& password =' + passwort header = { "Inhaltstyp": "application/x-www-form-urlencoded; Zeichensatz = UTF-8" } – DevD