CookieJar

我们在使用爬虫的时候,经常会用到cookie进行模拟登陆和访问。在使用urllib库做爬虫,我们需要借助http.cookiejar库中的CookieJar来实现。

CookieJar类有一些子类,分别是FileCookieJar,MozillaCookieJar,LWPCookieJar。

CookieJar:管理HTTP cookie值、存储HTTP请求生成的cookie、向传出的HTTP请求添加cookie的对象。整个cookie都存储在内存中,对CookieJar实例进行垃圾回收后cookie也将丢失。

FileCookieJar (filename,delayload=None,policy=None):从CookieJar派生而来,用来创建FileCookieJar实例,检索cookie信息并将cookie存储到文件中。filename是存储cookie的文件名。delayload为True时支持延迟访问访问文件,即只有在需要时才读取文件或在文件中存储数据。

MozillaCookieJar (filename,delayload=None,policy=None):从FileCookieJar派生而来,创建与Mozilla浏览器 cookies.txt兼容的FileCookieJar实例。

LWPCookieJar (filename,delayload=None,policy=None):从FileCookieJar派生而来,创建与libwww-perl标准的 Set-Cookie3 文件格式兼容的FileCookieJar实例。

其实大多数情况下,我们只用CookieJar(),如果需要和本地文件交互,就用 MozillaCookjar() 或 LWPCookieJar()。

# 经典实例1:

import http.cookiejar,urllib.request

filename = 'cookie.txt'

cookie = http.cookiejar.MozillaCookieJar(filename)

handler = urllib.request.HTTPCookieProcessor(cookie)

opener = urllib.request.build_opener(handler)

response = opener.open('http://www.baidu.com')

cookie.save(ignore_discard=True,ignore_expires=True)

# save()函数带有两个参数,ignore_discard和ignore_expires。

#

# ignore_discard: 即保存需要被丢弃的cookie。

# ignore_expires: 即过期的cookie也保存。

当然,如果我们对cookie有定制的需要,那么我们也要借助HTTPCookieProcess处理器来处理。

# 经典实例2:

import http.cookiejar,urllib.request

cookie = http.cookiejar.MozillaCookieJar("./cookie.txt")

handler = urllib.request.HTTPCookieProcessor(cookie)

opener = urllib.request.build_opener(handler)

res = opener.open("http://www.baidu.com/")

cookie.save(ignore_discard=True, ignore_expire=True)

# 将cookie存为一个文件

# cookie1 = http.cookiejar.MozillaCookieJar()

# cookie1.load('cookie1.txt')

# 从文件中读取cookie

for i in cookie:

print(i.name+"="+i.vaule)

# 经典案例3

import http.cookiejar,urllib.request

cookie = http.cookiejar.LWPCookieJar()

handler = urllib.request.HTTPCookieProcessor(cookie)

opener = urllib.request.build_opener(handler)

response = opener.open('http://www.baidu.com')

print(response.read().decode('utf-8'))

转载至链接:https://my.oschina.net/gain/blog/1931299

cookiejar包_http.cookiejar库之CookieJar相关推荐

  1. cookiejar包_「cookiejar」http.cookiejar库之CookieJar - seo实验室

    cookiejar cookiejar和HTTPCookieProcessor 我们在使用爬虫的时候,经常会用到cookie进行模拟登陆和访问.在使用urllib库做爬虫,我们需要借助http.coo ...

  2. requests库将cookieJar对象转换为cookies字典

    requests库将cookieJar对象转换为cookies字典 转字典 转cookieJar 使用requests获取的resposne对象,具有cookies属性.该属性值是一个cookieJa ...

  3. cookiejar包_net/http/cookiejar

    import "net/http/cookiejar" 概述 索引 示例 概述 Cookiejar包实现了符合内存RFC 6265的http.CookieJar. 索引 type ...

  4. pip安装库包以及.whl库包、.tar.gz库包具体方式

    欢迎大家关注笔者,你的关注是我持续更博的最大动力 原创文章,转载告知,盗版必究 pip安装库包以及.whl库包..tar.gz库包具体方式 文章目录: 1 pip安装库包 2 安装 .whl库包文件 ...

  5. Py之Matplotlib:python包之Matplotlib库图表绘制经验总结(中英文字体修改、横坐标文字进行横/纵向显示、控制坐标轴范围等)之详细攻略

    Py之Matplotlib:python包之Matplotlib库图表绘制经验总结(中英文字体修改.横坐标文字进行横/纵向显示.控制坐标轴范围等)之详细攻略 目录 1.Matplotlib库图表绘制包 ...

  6. Py之matplotlib:python包之matplotlib库图表绘制包的简介、安装、使用方法(matplotlib颜色大全)详细攻略

    Py之matplotlib:python包之matplotlib库图表绘制包的简介.安装.使用方法(matplotlib颜色大全)详细攻略 目录 matplotlib简介 matplotlib安装 m ...

  7. android.mk 添加v7_Android.mk引入第三方jar包和so库文件的方法

    以SystemUI为例,如果需要在SystemUI中引入第三方jar包以及so库,可作如下处理: 首先,在frameworks\base\packages\SystemUI下新建libs目录: 将需要 ...

  8. android studio开发十一 Library第三方类库源码, Jar包和SO库

    原创: 发现android里面不熟悉的东西太多了,查了好多资料,终于搞清楚 Library第三方类库源码, Jar包和SO库这些都是干什么的了,怎么使用它们了. [Library第三方类库源码] Ja ...

  9. android在哪引jar包,Android Studio引入jar包和so库

    前言 由于项目要对接华为Anyoffice平台,所以需要引入对应SDKjar包和so库.其实网上有很多资料可以查到:AS下如何导入jar包和so库.但是正因为资料很多,所以说法不一,有些配置已经不再适 ...

最新文章

  1. 地图定义一个中间不动标注_高德地图吊打百度个性地图更新版,成为最佳分析图利器...
  2. bootstrap文件不能被识别_树莓派安装openCV做图像识别
  3. CyanogenMod源码编译模拟器
  4. 逻辑漏洞之修改响应包绕过登录校验
  5. iOS应用横竖屏切换
  6. mysql connector api_mysql8 参考手册-Connector/J使用X DevAPI进行连接压缩
  7. html5 职工入职后台管理系统_10个酷炫的后台模板
  8. Kaggle 年度报告出炉:数据科学家年轻高学历,薪资近百万
  9. springboot做网站_Github点赞接近 100k 的Spring Boot学习教程+实战项目推荐!
  10. 浙江省二级计算机试题,2015浙江省计算机等级考试试题 二级ACCESS考试题库
  11. poj 动态规划总结
  12. 51单片机DHT11温湿度传感器
  13. python考拉兹猜想_Python练习题 042:Project Euler 014:最长的考拉兹序列
  14. 张飞流水帐(完整版)
  15. matlab 自激振荡,自激振荡系统matlab仿真课程设计
  16. P4017 最大食物链计数
  17. (转)TSQL和PLSQL的区别
  18. CSDN 2008英雄大会之“望穿秋水”
  19. python的图像处理库是啥_Python 图像处理库 Pillow 入门
  20. 云智慧助力MLOps加速落地

热门文章

  1. gps经纬度坐标 c语言,初学者: gps:GPRMC 经纬度问题
  2. Android 横竖屏切换小结
  3. 实现Linux和Windows之间复制粘贴
  4. border-image图片边框的使用。
  5. 如何整理国庆假期照片?图片转PDF一招搞定!
  6. 内网渗透测试理论学习之第四篇内网渗透域的横向移动
  7. C语言-用户自己建立数据类型
  8. idea开发工具保护眼睛主题包
  9. mx-memonger
  10. Category Theory: 01 One Structured Family of Structures