Y0Gi hat geschrieben:Bei einem Formular, das über einen Submit-Button vom Typ "image" abgesendet wird, werden die Parameter x und y mitgesendet - notfalls jeweils mit dem Wert 0.
Einloggen auf einer Website (mechanize)
Ok, den Login hab ich jetz schon gemeistert =)
Aber eines Frage ich mich: Wenn ich das hier durchlaufen lasse:
Dann bekomm ich folgenden print:) Wieso wird der von ClientForm nicht ausgelesen? Ich hab in der JS Datei keine Funktion gefunden, die das Feld automatisch beschreibt, was ja von ClientForm wahrscheinlich nicht gelesen werden könnte, wenns nach dem Laden beschrieben wird.
Gibts ne Möglichkeit dieses Feld trotzdem noch auszulesen?
LG
Aber eines Frage ich mich: Wenn ich das hier durchlaufen lasse:
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: iso-8859-15 -*-
import ClientForm
from urllib2 import urlopen
response = urlopen('http://welt1.travian.de/login.php')
form = ClientForm.ParseResponse(response, backwards_compat=False)[0]
response.close()
print form
Das letzte HiddenControl Feld hat keinen Wert. Wenn ich jedoch die Seite automatisch aufrufe und mir den Quellcode ansehen, hat dieses Feld einen Wert(jetz z.B.:<snd POST http://welt1.travian.de/dorf1.php application/x-www-form-urlencoded
<HiddenControl(w=) (readonly)>
<HiddenControl(login=1181149541) (readonly)>
<TextControl(e6fafb6=)>
<PasswordControl(ebab27a=)>
<HiddenControl(e6d172f=) (readonly)>
<ImageControl(s1=login)>
<CheckboxControl(autologin=[*ja])>>
Code: Alles auswählen
<input type="hidden" name="e6d172f" value="4eac5ffe42">
Gibts ne Möglichkeit dieses Feld trotzdem noch auszulesen?
LG
hi ich habe grade das gleiche problem aber kriege den login irgendwie nicht hin wär cool wenn du deins klappend nochmal postest oder jemand mir sagen kann was hier falsch ist
mfg Itsjustme
Code: Alles auswählen
###!/usr/bin/env python
### -*- coding: iso-8859-15 -*-
import mechanize
import urllib
# Login
loginurl = "http://www.jappy.de/start"
logindata = urllib.urlencode(
{
"login[u]": "User",
"login[p]": "Password",
"Submit": "login",
"<None>":"[*on]",
}
)
response = mechanize.urlopen(loginurl, logindata)
response.read() # wichtig
posteingangurl = "http://www.jappy.de/"
response = mechanize.urlopen(posteingangurl)
#schreibe den htmloutput in eine Datei,
#damit man das Ergebniss anschauen kann
f = file('output.html','w')
f.write(response.read())
f.close()