最近用python寫爬蟲爬了點數據,確實是很好用的東西,今天對python如何操做cookie進行一下總結。python
python內置有cookielib模塊操做cookie,配合urllib模塊就能夠了很輕易的爬取數據。cookie
#encoding:utf8 import urllib2 import cookielib #獲取cookie,並將保存在變量中的cookie打印出來 def Cookie(): #聲明一個CookieJar對象來保存cookie cookie = cookielib.CookieJar() #建立cookie處理器 handler = urllib2.HTTPCookieProcessor(cookie) #構建opener opener = urllib2.build_opener(handler) #建立請求 res = opener.open('http://www.baidu.com') for item in cookie: print 'name:' + item.name + '-value:' + item.value #將cookie保存在文件中 def saveCookie(): #設置保存cookie的文件 filename = 'cookie.txt' #聲明一個MozillaCookieJar對象來保存cookie,以後寫入文件 cookie = cookielib.MozillaCookieJar(filename) #建立cookie處理器 handler = urllib2.HTTPCookieProcessor(cookie) #構建opener opener = urllib2.build_opener(handler) #建立請求 res = opener.open('http://www.baidu.com') #保存cookie到文件 #ignore_discard的意思是即便cookies將被丟棄也將它保存下來 #ignore_expires的意思是若是在該文件中cookies已經存在,則覆蓋原文件寫入 cookie.save(ignore_discard=True,ignore_expires=True) #從文件中獲取cookie而且訪問(咱們經過這個方法就能夠打開保存在本地的cookie來模擬登陸) def getCookie(): #建立一個MozillaCookieJar對象 cookie = cookielib.MozillaCookieJar() #從文件中的讀取cookie內容到變量 cookie.load('cookie.txt',ignore_discard=True,ignore_expires=True) #打印cookie內容,證實獲取cookie成功 for item in cookie: print 'name:' + item.name + '-value:' + item.value #利用獲取到的cookie建立一個opener handler = urllib2.HTTPCookieProcessor(cookie) opener = urllib2.build_opener(handler) res = opener.open('http://www.baidu.com') print res.read()