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类的专用方法实例分析
Jan 09 Python
深入解析Python中函数的参数与作用域
Mar 20 Python
Python模拟鼠标点击实现方法(将通过实例自动化模拟在360浏览器中自动搜索python)
Aug 23 Python
学习Python3 Dlib19.7进行人脸面部识别
Jan 24 Python
Python基于win32ui模块创建弹出式菜单示例
May 09 Python
儿童python练习实例
May 27 Python
python使用matplotlib库生成随机漫步图
Aug 27 Python
Python通过正则库爬取淘宝商品信息代码实例
Mar 02 Python
OpenCV 表盘指针自动读数的示例代码
Apr 10 Python
python删除某个目录文件夹的方法
May 26 Python
python实现PDF中表格转化为Excel的方法
Jun 16 Python
通过Python pyecharts输出保存图片代码实例
Nov 25 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函数常用用法小结
2010/02/08 PHP
PHP在线调试执行的实现方法(附demo源码)
2016/04/28 PHP
centos+php+coreseek+sphinx+mysql之一coreseek安装篇
2016/10/25 PHP
swoole锁的机制代码实例讲解
2021/03/04 PHP
JavaScript Cookie 直接浏览网站分网址
2009/12/08 Javascript
js实现div的切换特效上一个下一个
2014/02/11 Javascript
JQUERY简单按钮轮换选中效果实现方法
2015/05/07 Javascript
angular route中使用resolve在uglify压缩后问题解决
2016/09/21 Javascript
jquery的父、子、兄弟节点查找,节点的子节点循环方法
2016/12/07 Javascript
基于vue的下拉刷新指令和滚动刷新指令
2016/12/23 Javascript
javascript html5轻松实现拖动功能
2017/03/01 Javascript
JS实现为动态添加的元素增加事件功能示例【基于事件委托】
2018/03/21 Javascript
详解vue中async-await的使用误区
2018/12/05 Javascript
NodeJS http模块用法示例【创建web服务器/客户端】
2019/11/05 NodeJs
小程序卡片切换效果组件wxCardSwiper的实现
2020/02/13 Javascript
jQuery实现二级导航菜单的示例
2020/09/30 jQuery
用Python进行基础的函数式编程的教程
2015/03/31 Python
python编辑用户登入界面的实现代码
2018/07/16 Python
浅析python中while循环和for循环
2019/11/19 Python
python GUI库图形界面开发之PyQt5日期时间控件QDateTimeEdit详细使用方法与实例
2020/02/27 Python
500行python代码实现飞机大战
2020/04/24 Python
PyQt5实现仿QQ贴边隐藏功能的实例代码
2020/05/24 Python
在tensorflow实现直接读取网络的参数(weight and bias)的值
2020/06/24 Python
python中doctest库实例用法
2020/12/31 Python
Laravel中Kafka的使用详解
2021/03/24 PHP
教师岗位职责范本
2013/12/29 职场文书
《愚公移山》教学反思
2014/02/20 职场文书
计算机专业自荐信范文
2014/05/28 职场文书
党员作风建设自查报告
2014/10/23 职场文书
志愿者事迹材料
2014/12/26 职场文书
实习协议书
2015/01/27 职场文书
Jsonp劫持学习
2021/04/01 PHP
SQL Server中交叉联接的用法详解
2021/04/22 SQL Server
SQL实现LeetCode(196.删除重复邮箱)
2021/08/07 MySQL
Nginx实现负载均衡的项目实践
2022/03/18 Servers
Python可视化神器pyecharts之绘制地理图表练习
2022/07/07 Python