该模块主要功能是提供可存储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-X2fvUqgwDnN3qowDW
PREF : 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 urllib2
import cookielib
def 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()



