python使用cookielib库示例分享


Posted in Python onMarch 03, 2014

该模块主要功能是提供可存储cookie的对象。使用此模块捕获cookie并在后续连接请求时重新发送,还可以用来处理包含cookie数据的文件。

这个模块主要提供了这几个对象,CookieJar,FileCookieJar,MozillaCookieJar,LWPCookieJar。

1. CookieJar

CookieJar对象存储在内存中。

>>> import urllib2
>>> import cookielib
>>> cookie=cookielib.CookieJar()
>>> handler=urllib2.HTTPCookieProcessor(cookie)
>>> opener=urllib2.build_opener(handler)
>>> opener.open('http://www.google.com.hk')

访问google的cookie已经被捕捉了,来看下是怎样的:

>>> print cookie
<cookielib.CookieJar[<Cookie NID=67=B6YQoEIEjcqDj-adada_WmNYl_JvADsDEDchFTMtAgERTgRjK452ko6gr9G0Q5p9h1vlmHpCR56XCrWwg1pv6iqhZnaVlnwoeM-Ln7kIUWi92l-X2fvUqgwDnN3qowDW for .google.com.hk/>, <Cookie PREF=ID=7ae0fa51234ce2b1:FF=0:NW=1:TM=1391219446:LM=1391219446:S=cFiZ5X8ts9NY3cmk for .google.com.hk/>]>

看来是Cookie实例的集合,Cookie实例有name,value,path,expires等属性:

>>> for ck in cookie:
...     print ck.name,':',ck.value
... 
NID : 67=B6YQoEIEjcqDj-adada_WmNYl_JvADsDEDchFTMtAgERTgRjK452ko6gr9G0Q5p9h1vlmHpCR56XCrWwg1pv6iqhZnaVlnwoeM-Ln7kIUWi92l-X2fvUqgwDnN3qowDW
PREF : ID=7ae0fa51234ce2b1:FF=0:NW=1:TM=1391219446:LM=1391219446:S=cFiZ5X8ts9NY3cmk

2.将cookie捕捉到文件

FileCookieJar(filename)

创建FileCookieJar实例,检索cookie信息并将信息存储到文件中,filename是文件名。

MozillaCookieJar(filename)

创建与Mozilla cookies.txt文件兼容的FileCookieJar实例。

LWPCookieJar(filename)

创建与libwww-perl Set-Cookie3文件兼容的FileCookieJar实例。

代码:

 import urllib2
import cookielib
def HandleCookie():
#handle cookie whit file
     filename='FileCookieJar.txt'
     url='http://www.google.com.hk'
     FileCookieJar=cookielib.LWPCookieJar(filename)
     FileCookeJar.save()
     opener =urllib2.build_opener(urllib2.HTTPCookieProcessor(FileCookieJar))
     opener.open(url)
     FileCookieJar.save()
     print open(filename).read()
     #read cookie from file
     readfilename = "readFileCookieJar.txt"
     MozillaCookieJarFile =cookielib.MozillaCookieJar(readfilename)
     print MozillaCookieJarFile        
     MozillaCookieJarFile.load(cookieFilenameMozilla)
     print MozillaCookieJarFile
 if __name__=="__main__":
     HandleCookie()
Python 相关文章推荐
用smtplib和email封装python发送邮件模块类分享
Feb 17 Python
Python入门篇之正则表达式
Oct 20 Python
Python OpenCV获取视频的方法
Feb 28 Python
对pandas进行数据预处理的实例讲解
Apr 20 Python
关于django 数据库迁移(migrate)应该知道的一些事
May 27 Python
python中使用psutil查看内存占用的情况
Jun 11 Python
解决python中画图时x,y轴名称出现中文乱码的问题
Jan 29 Python
python实现连连看辅助之图像识别延伸
Jul 17 Python
使用pyqt5 tablewidget 单元格设置正则表达式
Dec 13 Python
Python中实现输入超时及如何通过变量获取变量名
Jan 18 Python
python 如何对logging日志封装
Dec 02 Python
Python循环之while无限迭代
Apr 30 Python
python使用cookie库操保存cookie详解
Mar 03 #Python
简单的通用表达式求10乘阶示例
Mar 03 #Python
python显示天气预报
Mar 02 #Python
pyqt4教程之实现半透明的天气预报界面示例
Mar 02 #Python
windows下python模拟鼠标点击和键盘输示例
Feb 28 #Python
python抓取网页中的图片示例
Feb 28 #Python
使用python分析git log日志示例
Feb 27 #Python
You might like
PHP数组实例详解
2016/06/26 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
2019/11/25 PHP
用Javascript做flash做的事..才完成的一个类.Auntion Action var 0.1
2007/02/23 Javascript
jQuery中调用WebService方法小结
2011/03/28 Javascript
js点击页面其它地方将某个显示的DIV隐藏
2012/07/12 Javascript
formvalidator验证插件中有关ajax验证问题
2013/01/04 Javascript
js获取窗口相对于屏幕左边和上边的位置坐标
2014/05/15 Javascript
浅谈jQuery构造函数分析
2015/05/11 Javascript
谈谈Jquery ajax中success和complete有哪些不同点
2015/11/20 Javascript
json对象转为字符串,当做参数传递时加密解密的实现方法
2016/06/29 Javascript
如何用js实现鼠标向上滚动时浮动导航
2016/07/18 Javascript
JS实现基于拖拽改变物体大小的方法
2018/01/23 Javascript
p5.js入门教程和基本形状绘制
2018/03/15 Javascript
代码整洁之道(重构)
2018/10/25 Javascript
基于mpvue搭建微信小程序项目框架的教程详解
2019/04/10 Javascript
Ajax请求时无法重定向的问题解决代码详解
2019/06/21 Javascript
vue 返回上一页,页面样式错乱的解决
2019/11/14 Javascript
浅谈Vue使用Cascader级联选择器数据回显中的坑
2020/10/31 Javascript
[05:34]2014DOTA2国际邀请赛中国区预选赛精彩TOPPLAY第二弹
2014/06/25 DOTA
python转换摩斯密码示例
2014/02/16 Python
Python中处理字符串之isalpha()方法的使用
2015/05/18 Python
Python中的条件判断语句基础学习教程
2016/02/07 Python
Python字符串拼接、截取及替换方法总结分析
2016/04/13 Python
python生成词云的实现方法(推荐)
2017/06/13 Python
小米5s微信跳一跳小程序python源码
2018/01/08 Python
浅谈pytorch grad_fn以及权重梯度不更新的问题
2019/08/20 Python
Python3 利用face_recognition实现人脸识别的方法
2020/03/13 Python
Python生成pdf目录书签的实例方法
2020/10/29 Python
opencv+pyQt5实现图片阈值编辑器/寻色块阈值利器
2020/11/13 Python
linux面试题参考答案(4)
2013/01/28 面试题
消防器材管理制度
2014/01/28 职场文书
行政专员岗位职责说明书
2014/07/30 职场文书
忠诚教育心得体会
2014/09/03 职场文书
首都博物馆观后感
2015/06/05 职场文书
建筑工程催款函
2015/06/24 职场文书
vue Element-ui表格实现树形结构表格
2021/06/07 Vue.js