Question

J'apprends à utiliser mécanize , un module Python permettant d'automatiser l'interaction avec les sites Web. / p>

L'une des fonctionnalités est la gestion automatisée des cookies. Je souhaiterais vider les cookies d'une instance mechanize.Browser à des fins de débogage, mais je n'arrive pas à comprendre cela moi-même.

Était-ce utile?

La solution


>>> 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)]
>>>                           

Autres conseils

Il suffit d'imprimer l'instance CookieJar

# Browser
br = mechanize.Browser()

# Cookie Jar
cj = cookielib.LWPCookieJar()
br.set_cookiejar(cj)

# Dump
print cj

La réponse de Mykolas m'a presque donné ce que je cherchais. Je cherchais comment enregistrer le cookie dans un fichier. Étant donné que cette réponse laisse une marge sur le dumping du cookie dans un fichier, cela sera peut-être utile pour les autres personnes qui viennent ici pour le rechercher. Pour enregistrer le cookie dans un fichier:

br._ua_handlers['_cookies'].cookiejar.save("cookie.txt", ignore_discard=True, ignore_expires=True)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top