我尝试过像这样酸洗一个CookieJar对象:
import cookielib
import pickle
dumpFile = open('cookie.dump','w')
cj = cookielib.CookieJar()
pickle.dump(cj, dumpFile)它引发了以下异常:
raise TypeError, "can't pickle %s objects" % base.__name__
TypeError: can't pickle lock objectsCookieJar可以腌制吗?
发布于 2013-08-11 15:40:57
问题的答案是“不”:罐子本身是不能腌制的。
但是,jar中包含的cookie是
pickle.dump([c for c in cj], dumpFile)例如,就能做到这一点。(然后,您可以加载结果并将cookie列表插入到新的jar中。你可能会想先检查它们是否过期,然后再检查。根据您何时进行酸洗,您甚至可能希望在转储之前进行检查。)
发布于 2015-07-28 09:42:10
答案是肯定的,但前提是您使用了比pickle更好的序列化程序。
>>> import cookielib
>>> import dill
>>>
>>> cj = cookielib.CookieJar()
>>> _cj = dill.dumps(cj)
>>> cj_ = dill.loads(_cj)
>>> cj_
<CookieJar[]>发布于 2019-10-03 02:19:53
使用像MozillaCookieJar或LWPCookieJar这样的FileCookieJar实现以及它们的save()方法是否会更好地为您服务?
https://stackoverflow.com/questions/18169748
复制相似问题