cookielib模塊對cookies的操作


最近用python寫爬蟲爬了點數據,確實是很好用的東西,今天對python如何操作cookie進行一下總結。

python內置有cookielib模塊操作cookie,配合urllib模塊就可以了很輕易的爬取數據。

 

復制代碼
#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()
復制代碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM