python使用cookielib库示例分享

 更新时间:2014年03月03日 10:45:27   作者:  
Python中cookielib库(python3中为http.cookiejar)为存储和管理cookie提供客户端支持,下面是使用示例

该模块主要功能是提供可存储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 import导入上级目录文件的方法

    Python import导入上级目录文件的方法

    这篇文章主要介绍了Python import导入上级目录文件,本文结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-01-01
  • Python中的HTTP请求库Requests的具体使用

    Python中的HTTP请求库Requests的具体使用

    Python作为一种功能强大且易于学习的编程语言,提供了许多用于处理HTTP请求的库,其中,Requests库是最受欢迎的选择之一,本文主要介绍了Python中的HTTP请求库Requests的具体使用,感兴趣的可以了解一下
    2023-12-12
  • Django实现whoosh搜索引擎使用jieba分词

    Django实现whoosh搜索引擎使用jieba分词

    这篇文章主要介绍了Django实现whoosh搜索引擎使用jieba分词,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • 使用Python爬取Json数据的示例代码

    使用Python爬取Json数据的示例代码

    这篇文章主要介绍了使用Python爬取Json数据的示例代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • pycharm中代码回滚到指定版本的两种实现方法(附带截图展示)

    pycharm中代码回滚到指定版本的两种实现方法(附带截图展示)

    在编写代码的时候,经常会出现写的代码存在一些问题,但是比较难以发现具体存在的问题在哪里,需要将带代码恢复到指定的版本,下面这篇文章主要给大家介绍了关于pycharm中代码回滚到指定版本的两种实现方法,需要的朋友可以参考下
    2022-06-06
  • 使用 Django 进行测试驱动开发

    使用 Django 进行测试驱动开发

    本文分享了什么是测试驱动开发,并用测试驱动开发的方式 创建了一个简单的 Django 应用程序,感兴趣的可以了解一下
    2021-11-11
  • Python实现二维曲线拟合的方法

    Python实现二维曲线拟合的方法

    今天小编就为大家分享一篇Python实现二维曲线拟合的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • Python Unittest根据不同测试环境跳过用例的方法

    Python Unittest根据不同测试环境跳过用例的方法

    这篇文章主要给大家介绍了关于Python Unittest如何根据不同测试环境跳过用例的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧
    2018-12-12
  • 手动安装Anaconda环境变量的实现教程

    手动安装Anaconda环境变量的实现教程

    这篇文章主要介绍了手动安装Anaconda环境变量的实现教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • Pandas中Replace函数使用那些事儿

    Pandas中Replace函数使用那些事儿

    Pandas是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的,下面这篇文章主要给大家介绍了关于Pandas中Replace函数使用那些事儿,文中通过实例代码以及图文介绍的非常详细,需要的朋友可以参考下
    2022-11-11

最新评论