cookielib 模块基本运用

来源:互联网 发布:苹果mac最新系统 编辑:程序博客网 时间:2024/05/21 15:44
cookielib 模块提供了可储存 cookie 的对象。捕获cookie后并在后续连接请求的重新发送。处理包含 cookie 的文件
1. CookieJar:储存在内存中
import urllib2
import cookirlib
cookie = cookielib.CookieJar()
handler = urllib2.HTTPCookieProcessor(cookie)  //创建处理Cookiejar()对象的处理器(Handler)
opener = urllib2.build_opener(handler)  //用该处理器初始化一个新的opener
print cookie
CookieJar() //返回 Cookie 实例的集合
            //Cookie 实例 有 name,value,path,expires 属性
for ck in cookie
    print ck.name,":",ck.value

2.Opener 与 Handler
自定义的openers: opener 使用 handlers 来完成对任务的处理,handler能够打开和处理 url
创建 Opener的方法:1.枚举一个OpenerDirector 实例,通过多次调用add_handler()的方式来创建一个 opener
                   2.opener = urllib2.build_opener(handler) 创建一个由此处理器初始化的opener


3. FileCookieJar(filename): 将 cookie 捕捉到文件
#将 cookie 捕捉到文件
MozillaCookieJar(filename): 创建与 Mozilla cookies.txt 文件兼容的 FileCookieJar 实例
LWPCookieJar(filename): 创建与 libwww-perl Set-cookie3 文件兼容的 FileCookieJar 实例
import urllib2
import cookielib
filename = ""
url = ""
cookie = cookielib.LWPCookieJar(filename)  //捕捉方式,捕捉目录
cookie.save()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
urllin2.install_opener(opener)  //将自定义的opener设置为(全局)默认opener
opener.open(url)  //捕捉到了访问地址的cookie
                  //cookie变量中返回了cookie的键值
                  //与urlopen()用法基本相同,返回了一个Resquest类(类文件)的对象
print open(filename).read()
# res = urllib2.urlopen(url)
# cookie.save()
# the_page = res.read()
# print the_page
#从文件中读cookie
readfilename = ""
Cookie = cookielib.MozillaCookieJar(readfilename)
print cookie
Cookie.load(cookieFilenameMozilla)
print Cookie
0 0
原创粉丝点击