mechanize und cookies

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
The Hit-Man
User
Beiträge: 435
Registriert: Montag 20. Februar 2006, 18:11
Wohnort: Menden / Sauerland
Kontaktdaten:

Ich nutze das Modul mechanize um einige WebSeiten zu refreshen, die hinter einem Login stehen. Da ich mich auf die Seiten ja einloggen muß, bekomme ich ein cookie zurück gesendet um die Seite neu zu refreshen.
Gibt es irgendeine Möglichkeit um zu prüfen, ob das Cookie noch aktuell ist? Oder muß ich das über die Seite machen? Denn wenn es nicht mehr aktuell ist, falle ich auf die LoginSeite zurück.
BlackJack

@The Hit-Man: Das kommt darauf an wie die Website überprüft ob die Daten im Cookie noch aktuell sind. Cookies können ein „Verfallsdatum” haben, nach dem sie der Browser verwerfen soll. Es kann aber auch sein, dass die Webanwendung, eventuell auch zusätzlich, überprüft wann sie den Cookie ausgeliefert hat, und ob der noch gültig sein sollte. Egal wie, solltest Du auch immer damit rechnen, dass auch ein nicht abgelaufener Cookie (laut „Verfallsdatum”) nicht mehr von der Website akzeptiert wird. Ich würde also versuchen fest zu stellen ob die erwartete Seite als Antwort kommt, oder eine Login-Seite.
The Hit-Man
User
Beiträge: 435
Registriert: Montag 20. Februar 2006, 18:11
Wohnort: Menden / Sauerland
Kontaktdaten:

Ja, so habe ich mir das auch gedacht. Nur weiß ich nicht ganz genau, wie ich das LoginForm dann abfrage, im Moment filter ich nach einem Wort. Das ist nicht die feine englische Art. Allerdings habe ich mir den Source von der Seite angeschaut und das LoginForm hat keinen Namen, nur eine ID=xxx.
Ich finde im Netz nichts, wie ich abfragen kann, ob das LoginForm angezeigt wird aus dem Grund filter ich nach einem bestimmten Wort. Ich finde das Modul mechanize ist ziemlich dürftig beschrieben. Ich finde auch nicht alle Mathoden, die das Modul besitzt. Aber gabs da nicht nen Trick unter Python sich anzeigen zu lassen, welche Methoden usw. ein bestimmtes Modul besitzt?
deets

Es gibt keinen Standard, wie ein login zu identifizieren waere. Dementsprechend laeuft es auch immer auf sowas hinaus, was du da schon tust - eine Heuristik, die fuer eine bestimmte Seite zu einem bestimmten Zeitpunkt gilt. Das kann sich jederzeit aendern - ist halt beim scrapen so.

Und wenn die Doku nix hergibt, dann helfen vielleicht im interaktiven Interpreter "dir(objekt)" und "help(modul)" weiter.
Antworten