Cookie,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)
比如说有些网站需要登录后才能访问某个页面,在登录之前,你想抓取某个页面内容是不允许的。那么我们可以利用Urllib2库保存我们登录的Cookie,然后再抓取其他页面就达到目的了
[root@~]# cat cscook.py#!/usr/bin/python
#-*- coding: UTF-8 -*-
import cookielib
import urllib2
import urllib
#cookie保存的文件名
filename='cookie.txt'
#声明一个MozillaCookieJar对象实例来保存cookie
cookie=cookielib.MozillaCookieJar(filename)
#创建opener用于读取Url
opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
#登录的用户名密码
values={"username":"1767340368","password":"xxxxxxxx"}
#模拟登录
postdata=urllib.urlencode(values)
#登录的Url
loginUrl="http://home.51cto.com/index?reback=http://www.51cto.com/"
#登录
result=opener.open(loginUrl,postdata)
#保存cookie到cookie.txt中
cookie.save(ignore_discard=True, ignore_expires=True)
#利用cookie请求访问另一个网址
gradeUrl="https://blog.51cto.com/1767340368"
result=opener.open(gradeUrl)
print result.read()