最近用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()