首页 > 其他分享 >cookielib学习

cookielib学习

时间:2022-12-05 23:55:20浏览次数:38  
标签:FileCookieJar urllib2 filename 学习 opener cookie cookielib

Python中cookielib库(python3中为http.cookiejar)为存储和管理cookie提供客户端支持。

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

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

1. CookieJar

    CookieJar对象存储在内存中。

1 2 3 4 5 6 >>> 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已经被捕捉了,来看下是怎样的:

1 2 >>> 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等属性:

1 2 3 4 5 >>> 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实例。

代码:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2 import urllib2  3 import cookielib  4 def HandleCookie():  5  6     #handle cookie whit file  7     filename='FileCookieJar.txt'  8     url='http://www.google.com.hk'  9     FileCookieJar=cookielib.LWPCookieJar(filename) 10     FileCookeJar.save() 11     opener =urllib2.build_opener(urllib2.HTTPCookieProcessor(FileCookieJar)) 12     opener.open(url) 13     FileCookieJar.save() 14     print open(filename).read() 15 16     #read cookie from file 17     readfilename = "readFileCookieJar.txt" 18     MozillaCookieJarFile =cookielib.MozillaCookieJar() 19     print MozillaCookieJarFile        20     MozillaCookieJarFile.load(readfilename) 21     print MozillaCookieJarFile 22 if __name__=="__main__": 23     HandleCookie()

标签:FileCookieJar,urllib2,filename,学习,opener,cookie,cookielib
From: https://www.cnblogs.com/qboshi/p/16953960.html

相关文章

  • 基本的DOS命令学习与巩固
    打开CMD的方式开始+windows系统+命令提示符;Win键+R键输入cmd打开控制台窗口;在任意的文件夹下面,按住shift键+鼠标右键点击,在此处打开命令行窗口;资源管理器的地址栏输......
  • 疫情解封后的攻略学习
    常识指导思想:免疫力第一,休息第二,吃药第三恢复时长,因人而异,有的3天,7天,有的更长长新冠:变种特有的,极少数,美国出现的有基础病和三高的需要多注意,早打加强针,蛋白质重组疫苗......
  • MarkDown语法学习
    Markdown学习标题三级标题四级标题 字体Hello,World!Hello,World!Hello,World!Hello,World! 引用选择学习Java,走向人生巅峰 分割线图片超链接点......
  • Kubernetes学习笔记(四十二):CKA已通过2022.12.04
    考试版本:1.25.2注意点:使用PSI内远程浏览器,可以多开tab,但不能导入书签,需要自己搜索,所以请熟悉完整命令和yaml格式考前请仔细阅读考试手册(预约考试页面有链接),特别是熟悉......
  • C++学习---cstdbool和cstddef源码学习分析
    引言cstdbool是C++对stdbool.h头文件的封装,里面定义了与bool变量相关的宏;cstddef是C++对stddef.h头文件的封装,里面定义一些特殊类型(如size_t),有用的宏函数(offsetof)。平时我们......
  • C语言从入门到实战(基础学习篇)
    1.基本数据类型原码反码和补码正数的反码是其本身负数的反码是在其源码的基础上,符号位不变,其余各个位取反负数的补码是在其原码的基础上,符号位不变,其余各位取反,最后+11.......
  • 学习路线
     这是我对自己学习过程中的一些书籍知识点的整理,方便自己回顾复习。这些书籍比我笔记丰富精彩得多,大家有机会可以去阅读学习原文。 读书之法,在循序而渐进,熟读而精思。—......
  • 深度学习-信息论中的熵
    1.信息熵  2.交叉熵  3.3相对熵——可以验证分布的一致性    4.JS散度  5.联合熵 ......
  • 进入python的世界_day45_前端——JS的学习(和学python基础一样的学)
    一、JS介绍​ 是一门编程语言,可以进行逻辑运算,但是跟java没有关系主要是为了蹭热度​ 全称是JavaScript,曾经叫过ECMASript,创造出这门语言的公司已经倒闭完整的Java......
  • 前端学习4 JavaScript
    JavaScript一、JavaScript简介1.JS简介JS全程JavaScript但是跟Java半毛钱关系都没有之所以这么叫是为例蹭热度它是一门前端工程师的编程语言但是它本身有很......