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 相关文章推荐
Python常见字符串操作函数小结【split()、join()、strip()】
Feb 02 Python
浅谈Python Opencv中gamma变换的使用详解
Apr 02 Python
对python中的six.moves模块的下载函数urlretrieve详解
Dec 19 Python
使用python的pexpect模块,实现远程免密登录的示例
Feb 14 Python
python matplotlib画盒图、子图解决坐标轴标签重叠的问题
Jan 19 Python
Python GUI库PyQt5样式QSS子控件介绍
Feb 25 Python
Django ValuesQuerySet转json方式
Mar 16 Python
django有哪些好处和优点
Sep 01 Python
深入浅析pycharm中 Make available to all projects的含义
Sep 15 Python
python将YUV420P文件转PNG图片格式的两种方法
Jan 22 Python
matplotlib之属性组合包(cycler)的使用
Feb 24 Python
Python包argparse模块常用方法
Jun 04 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
Ubuntu中启用php的mail()函数并解决发送邮件速度慢问题
2015/03/27 PHP
PHP中trim()函数简单使用指南
2015/04/16 PHP
简单谈谈PHP vs Node.js
2015/07/17 PHP
PHP的反射机制实例详解
2017/03/29 PHP
js修改table中Td的值(定义td的双击事件)
2013/01/10 Javascript
javascript作用域和闭包使用详解
2014/04/25 Javascript
javascript函数自动执行常用方法汇总
2016/03/28 Javascript
如何解决手机浏览器页面点击不跳转浏览器双击放大网页
2016/07/01 Javascript
概述BootStrap中role=&quot;form&quot;及role作用角色
2016/12/08 Javascript
jquery实现的table排序功能示例
2017/03/10 Javascript
在vue中给列表中的奇数行添加class的实现方法
2018/09/05 Javascript
详解vue 兼容IE报错解决方案
2018/12/29 Javascript
微信小程序中显示倒计时代码实例
2019/05/09 Javascript
小程序最新获取用户昵称和头像的方法总结
2019/09/23 Javascript
在vue中实现给每个页面顶部设置title
2020/07/29 Javascript
JavaScript setTimeout()基本用法有哪些
2020/11/04 Javascript
Vue中ref和$refs的介绍以及使用方法示例
2021/01/11 Vue.js
[02:55]DOTA2英雄基础教程 发条技师
2013/12/04 DOTA
Python随手笔记第一篇(2)之初识列表和元组
2016/01/23 Python
python中常用的九种预处理方法分享
2016/09/11 Python
python3中zip()函数使用详解
2018/06/29 Python
在Python中给Nan值更改为0的方法
2018/10/30 Python
Python字符串逆序的实现方法【一题多解】
2019/02/18 Python
用sqlalchemy构建Django连接池的实例
2019/08/29 Python
TensorFlow低版本代码自动升级为1.0版本
2021/02/20 Python
女性时尚网购:Chic Me
2019/07/30 全球购物
杭州-飞时达软件有限公司.net笔面试
2012/04/28 面试题
公务员个人自我评价分享
2013/11/06 职场文书
中药专业自荐信范文
2014/03/18 职场文书
房务中心文员岗位职责
2014/04/16 职场文书
合作协议书范文
2014/08/20 职场文书
软件测试专业推荐信
2014/09/18 职场文书
幼儿园2016年感恩节活动总结
2016/04/01 职场文书
Mysql数据库值的添加、修改、删除及清空操作实例
2021/06/20 MySQL
SQL Server代理:理解SQL代理错误日志处理方法
2021/06/30 SQL Server