Python: wie Cookies von einer mechanize.Browser Instanz entleeren?
-
03-07-2019 - |
Frage
Ich lerne, wie mechanize , ein Python-Modul mit Websites zu automatisieren interagieren.
Ein Merkmal ist die automatisierte Handhabung von Cookies. Ich würde für Debugging-Zwecke von einem mechanize.Browser
Beispiel Cookies Dump wollen, aber ich kann das nicht scheinen mich zu verstehen.
Lösung
>>> from mechanize import Browser
>>> b = Browser()
>>> b._ua_handlers['_cookies'].cookiejar
mechanize._clientcookie.CookieJar[]
>>> b.open('http://google.com')
response_seek_wrapper at 0xb7a922ccL whose wrapped object = closeable_response at 0xb7aa070cL whose fp = socket._fileobject object at 0xb7a94224
>>>
>>> b._ua_handlers['_cookies'].cookiejar
mechanize._clientcookie.CookieJar[Cookie(version=0, name='PREF', value='ID=57d545c229b4cf3f:TM=1236081634:LM=1236081634:S=p001WJMOr-V8Rlvi', port=None, port_specified=False, domain='.google.com', domain_specified=True, domain_initial_dot=True, path='/', path_specified=True, secure=False, expires=1299153634, discard=False, comment=None, comment_url=None, rest={}, rfc2109=False), Cookie(version=0, name='PREF', value='ID=20534d80a5ccf2ea:TM=1236081635:LM=1236081635:S=jW3UotZ0dg8sv6mf', port=None, port_specified=False, domain='.google.com.ua', domain_specified=True, domain_initial_dot=True, path='/', path_specified=True, secure=False, expires=1299153635, discard=False, comment=None, comment_url=None, rest={}, rfc2109=False)]
>>>
Andere Tipps
Sie einfach die CookieJar Instanz drucken
# Browser
br = mechanize.Browser()
# Cookie Jar
cj = cookielib.LWPCookieJar()
br.set_cookiejar(cj)
# Dump
print cj
Mykolas' Antwort gab fast mir, was ich suchte. Ich suchte nach, wie das Cookie in einer Datei zu speichern. Da diese Antwort Spielraum gibt das Cookie in eine Datei zu Dumping, vielleicht wird es gehen für andere Menschen hier nützlich sein kommen dafür suchen. Um das Cookie in einer Datei zu speichern:
br._ua_handlers['_cookies'].cookiejar.save("cookie.txt", ignore_discard=True, ignore_expires=True)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow