我正在使用 ActivePython 2.5.1 和 cookielib 包来检索网页。
我想显示来自 cookiejar 的给定 cookie 而不是整个事情:
#OK to display all the cookies
for index, cookie in enumerate(cj):
print index, ' : ', cookie
#How to display just PHPSESSID?
#AttributeError: CookieJar instance has no attribute '__getitem__'
print "PHPSESSID: %s" % cj['PHPSESSID']
我敢肯定这很简单,但谷歌搜索并没有返回样本。
谢谢你。
最佳答案
cookiejar 没有类似 dict 的接口(interface),仅支持迭代。所以你必须自己实现一个查找方法。
我不确定您要查找的 cookie 属性。示例,使用名称:
def get_cookie_by_name(cj, name):
return [cookie for cookie in cj if cookie.name == name][0]
cookie = get_cookie_by_name(cj, "PHPSESSID")
如果您不熟悉
[...]
语法,则它是 list comprehension 。 [0]
然后选择匹配 cookie 列表的第一个元素。关于python - 如何显示特定的cookie?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2594947/