Python中cookielib函式庫(python3中為http.cookiejar)為儲存和管理cookie提供客戶端支援。
此模組主要功能是提供可儲存cookie的物件。使用此模組捕獲cookie並在後續連接請求時重新發送,也可以用來處理包含cookie資料的檔案。
這個模組主要提供了這幾個對象,CookieJar,FileCookieJar,MozillaCookieJar,LWPCookieJar。
1. CookieJar
CookieJar物件儲存在記憶體中。
>>> import urllib2
>>> import cookielib
>>> cookie=cookielib.CookieJar()
>>>> handler=urllib2.HTTPCookiePRocessor(cookie)
>>> handler=urllib2.HTTPCookiePRocessor(cookie)
>>> openeropenler> >> opener.open('http://www.google.com.hk')
訪問google的cookie已經被捕捉了,來看下是怎樣的:
>>> print cookie
看來是Cookie實例的集合,Cookie實例有name,value,path,expires等屬性:
>>> for ck in cookie:
.. 。 IUWi92l-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實例。
程式碼:
2 import urllib2
3 import cookielib 4 def HandleCookie():
5
6 8 url='http://www.google .com.hk'
9 FileCookieJar=cookielib.LWPCookieJar(filename)
10 FileCookeJar.save()
11 opener.open(url)
13 FileCookieJar.save ()
14 print open(filename).read()
15
16 #read cookie from file
17 readfilename = "readFileCookieJar." 9 print MozillaCookieJarFile
20 MozillaCookieJarFile.load( readfilename)
21 print MozillaCookieJarFile
22 if __name__=="__main__":
23 HandleCookie()
.php.cn)!