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="http://blog.51cto.com/1767340368" result=opener.open(gradeUrl) print result.read()
原文地址:http://blog.51cto.com/1767340368/2094613