cookies的持久性

cookies的持久性,cookies,python-2.7,mechanize,Cookies,Python 2.7,Mechanize,我正在使用python mechanize制作登录脚本。我已经了解到mechanize的Browser()对象将自动处理cookies,以满足进一步的请求。 如何将此cookie持久保存到文件中,以便稍后从该文件加载。 我的脚本当前正在使用浏览器()对象登录(使用mechanize/HTML表单)网站。如果您在 这里有一些关于你具体要求的信息,特别是CookieJar和LWPCookieJar材料 从文档中: 还有一些CookieJar子类可以在文件和数据库中存储cookie。FileCook

我正在使用python mechanize制作登录脚本。我已经了解到mechanize的Browser()对象将自动处理cookies,以满足进一步的请求。 如何将此cookie持久保存到文件中,以便稍后从该文件加载。
我的脚本当前正在使用浏览器()对象登录(使用mechanize/HTML表单)网站。如果您在

这里有一些关于你具体要求的信息,特别是
CookieJar
LWPCookieJar
材料

从文档中:

还有一些CookieJar子类可以在文件和数据库中存储cookie。FileCookieJar是Cookiejar的抽象类,可以将cookie存储在磁盘文件中。LWPCookieJar以与libwww perl库兼容的格式保存cookie。如果要将Cookie存储在人类可读的文件中,则此类非常方便:

编辑:注释中要求的内容的伪代码

  • 尝试从文件加载CookieJar
  • 如果成功,请将Browser()cookie jar设置为加载的cookie jar
  • 尝试正常访问该页面
  • 否则,如果不成功,请浏览页面,直到您获得所有cookie
  • 使用LWPCookieJar()将cookie保存到文件中
第三行错误。没有名为“cookie3.txt”的文件(我试图创建一个空的cookie3.txt文件,但无效)。我还需要使用
Browser()
方法,如
open()
查找链接()
单击链接()
,。。加载保存的cookie…会出现“无文件名”错误,因为它不存在。我发布的代码只是一个用法示例,而不是“将其插入代码”。至于使用浏览器,那就这么做吧?您可以调用
Browser()。这不是最初的问题,但是,如果您不考虑如何持久保存Cookie,您应该修改它。我还没有得到我的答案。也许我会告诉您我需要做什么1)在您的web浏览器上访问网站“”。您是第一次从浏览器访问此网站(即应清除此网站上的所有webbrowser Cookie)2)由于这是您第一次访问此网站,该网站将向您显示电话选择器页面3)让我们选择一部电话,说“Nokia6300”4)您将被重定向到url“”5)下次访问“”时,您将在步骤4中自动重定向到url 6)这是我想要/不能选择的电话,每次您得到问题的答案,特别是保存您的cookie<代码>如何将此cookie持久保存到文件中,以便稍后从该文件加载。
收到错误后,您没有继续调试为什么找不到该文件(因为您需要在尝试访问该文件之前保存实际文件)。我将用伪代码更新我的答案,以了解您想要做什么。然后我不完全理解您提出的这个特定问题为什么没有得到回答?为您的其他问题打开一个新问题,但在我看来,
保存到一个文件中,以便我以后可以从该文件加载。
根据您刚才所说的回答。
import mechanize
cj = mechanize.LWPCookieJar()
cj.revert("cookie3.txt")
opener = mechanize.build_opener(mechanize.HTTPCookieProcessor(cj))
r = opener.open("http://foobar.com/")
cj.save("cookie3.txt")