python使用cookielib库示例分享

该模块主要功能是提供可存储cookie的对象。使用此模块捕获cookie并在后续连接请求时重新发送,还可以用来处理包含cookie数据的文件。

这个模块主要提供了这几个对象,cookiejar,filecookiejar,mozillacookiejar,lwpcookiejar。

1. cookiejar

cookiejar对象存储在内存中。

代码如下:

>>> import urllib2>>> import cookielib>>> cookie=cookielib.cookiejar()>>> handler=urllib2.httpcookieprocessor(cookie)>>> opener=urllib2.build_opener(handler)>>> opener.open(‘http://www.google.com.hk’)

访问google的cookie已经被捕捉了,来看下是怎样的:

代码如下:

>>> print cookie

看来是cookie实例的集合,cookie实例有name,value,path,expires等属性:

代码如下:

>>> for ck in cookie:… print ck.name,’:’,ck.value… nid : 67=b6yqoeiejcqdj-adada_wmnyl_jvadsdedchftmtagertgrjk452ko6gr9g0q5p9h1vlmhpcr56xcrwwg1pv6iqhznavlnwoem-ln7kiuwi92l-x2fvuqgwdnn3qowdwpref : id=7ae0fa51234ce2b1:ff=0:nw=1:tm=1391219446:lm=1391219446:s=cfiz5x8ts9ny3cmk

2.将cookie捕捉到文件

filecookiejar(filename)

创建filecookiejar实例,检索cookie信息并将信息存储到文件中,filename是文件名。

mozillacookiejar(filename)

创建与mozilla cookies.txt文件兼容的filecookiejar实例。

lwpcookiejar(filename)

创建与libwww-perl set-cookie3文件兼容的filecookiejar实例。

代码:

代码如下:

import urllib2import cookielibdef handlecookie():#handle cookie whit file filename=’filecookiejar.txt’ url=’http://www.google.com.hk’ filecookiejar=cookielib.lwpcookiejar(filename) filecookejar.save() opener =urllib2.build_opener(urllib2.httpcookieprocessor(filecookiejar)) opener.open(url) filecookiejar.save() print open(filename).read()

#read cookie from file readfilename = “readfilecookiejar.txt” mozillacookiejarfile =cookielib.mozillacookiejar(readfilename) print mozillacookiejarfile mozillacookiejarfile.load(cookiefilenamemozilla) print mozillacookiejarfile if __name__==”__main__”: handlecookie()