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 相关文章推荐
Hadoop中的Python框架的使用指南
Apr 22 Python
Python中每次处理一个字符的5种方法
May 21 Python
Python实现的人工神经网络算法示例【基于反向传播算法】
Nov 11 Python
对python中的six.moves模块的下载函数urlretrieve详解
Dec 19 Python
python格式化输出保留2位小数的实现方法
Jul 02 Python
python自带tkinter库实现棋盘覆盖图形界面
Jul 17 Python
Python中关于浮点数的冷知识
Sep 22 Python
python GUI库图形界面开发之PyQt5 MDI(多文档窗口)QMidArea详细使用方法与实例
Mar 05 Python
keras之权重初始化方式
May 21 Python
python利用tkinter实现图片格式转换的示例
Sep 28 Python
Python编解码问题及文本文件处理方法详解
Jun 20 Python
解决pycharm下载库时出现Failed to install package的问题
Sep 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
php实现文件与16进制相互转换的方法示例
2017/02/16 PHP
PHP实现的redis主从数据库状态检测功能示例
2017/07/20 PHP
jQuery 白痴级入门教程
2009/11/11 Javascript
js弹出层永远居中实现思路及代码
2013/11/29 Javascript
简单的jquery左侧导航栏和页面选中效果
2014/08/21 Javascript
javascript arguments使用示例
2014/12/16 Javascript
利用Javascript仿Excel的数据透视分析功能
2016/09/07 Javascript
Bootstrap的class样式小结
2016/12/01 Javascript
vue2笔记 — vue-router路由懒加载的实现
2017/03/03 Javascript
详解使用PM2管理nodejs进程
2017/10/24 NodeJs
Vue 一键清空表单的实现方法
2020/02/07 Javascript
js实现动态时钟
2020/03/12 Javascript
[07:49]2014DOTA2国际邀请赛 Newbee夺冠后采访xiao8坦言奖金会上交
2014/07/23 DOTA
[01:53]2016完美“圣”典风云人物:Maybe专访
2016/12/05 DOTA
python里对list中的整数求平均并排序
2014/09/12 Python
全面了解python中的类,对象,方法,属性
2016/09/11 Python
python复制列表时[:]和[::]之间有什么区别
2018/10/16 Python
对Python 检查文件名是否规范的实例详解
2019/06/10 Python
python 字典 setdefault()和get()方法比较详解
2019/08/07 Python
解决django同步数据库的时候app models表没有成功创建的问题
2019/08/09 Python
python统计文章中单词出现次数实例
2020/02/27 Python
解决Keras自带数据集与预训练model下载太慢问题
2020/06/12 Python
python操作ini类型配置文件的实例教程
2020/10/30 Python
解决python3输入的坑——input()
2020/12/05 Python
丝芙兰美国官网:SEPHORA美国
2016/08/03 全球购物
vivo智能手机官方商城:vivo
2016/09/22 全球购物
德国鞋子网上商店:Omoda.de
2017/03/31 全球购物
Spotahome意大利:公寓和房间出租
2020/02/21 全球购物
JSF如何进行表格处理及取值
2012/08/06 面试题
踏青活动策划方案
2014/08/19 职场文书
2014年教研室工作总结
2014/12/06 职场文书
2014年学校财务工作总结
2014/12/06 职场文书
2016年全国爱牙日宣传活动总结
2016/04/05 职场文书
少年的你:世界上没有如果,要在第一次就勇敢的反抗
2019/11/20 职场文书
对Golang中的FORM相关字段理解
2021/05/02 Golang
教你一步步实现一个简易promise
2021/11/02 Javascript