cookiejar包_http.cookiejar库之CookieJar
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相关推荐
- cookiejar包_「cookiejar」http.cookiejar库之CookieJar - seo实验室
cookiejar cookiejar和HTTPCookieProcessor 我们在使用爬虫的时候,经常会用到cookie进行模拟登陆和访问.在使用urllib库做爬虫,我们需要借助http.coo ...
- requests库将cookieJar对象转换为cookies字典
requests库将cookieJar对象转换为cookies字典 转字典 转cookieJar 使用requests获取的resposne对象,具有cookies属性.该属性值是一个cookieJa ...
- cookiejar包_net/http/cookiejar
import "net/http/cookiejar" 概述 索引 示例 概述 Cookiejar包实现了符合内存RFC 6265的http.CookieJar. 索引 type ...
- pip安装库包以及.whl库包、.tar.gz库包具体方式
欢迎大家关注笔者,你的关注是我持续更博的最大动力 原创文章,转载告知,盗版必究 pip安装库包以及.whl库包..tar.gz库包具体方式 文章目录: 1 pip安装库包 2 安装 .whl库包文件 ...
- Py之Matplotlib:python包之Matplotlib库图表绘制经验总结(中英文字体修改、横坐标文字进行横/纵向显示、控制坐标轴范围等)之详细攻略
Py之Matplotlib:python包之Matplotlib库图表绘制经验总结(中英文字体修改.横坐标文字进行横/纵向显示.控制坐标轴范围等)之详细攻略 目录 1.Matplotlib库图表绘制包 ...
- Py之matplotlib:python包之matplotlib库图表绘制包的简介、安装、使用方法(matplotlib颜色大全)详细攻略
Py之matplotlib:python包之matplotlib库图表绘制包的简介.安装.使用方法(matplotlib颜色大全)详细攻略 目录 matplotlib简介 matplotlib安装 m ...
- android.mk 添加v7_Android.mk引入第三方jar包和so库文件的方法
以SystemUI为例,如果需要在SystemUI中引入第三方jar包以及so库,可作如下处理: 首先,在frameworks\base\packages\SystemUI下新建libs目录: 将需要 ...
- android studio开发十一 Library第三方类库源码, Jar包和SO库
原创: 发现android里面不熟悉的东西太多了,查了好多资料,终于搞清楚 Library第三方类库源码, Jar包和SO库这些都是干什么的了,怎么使用它们了. [Library第三方类库源码] Ja ...
- android在哪引jar包,Android Studio引入jar包和so库
前言 由于项目要对接华为Anyoffice平台,所以需要引入对应SDKjar包和so库.其实网上有很多资料可以查到:AS下如何导入jar包和so库.但是正因为资料很多,所以说法不一,有些配置已经不再适 ...
最新文章
- 地图定义一个中间不动标注_高德地图吊打百度个性地图更新版,成为最佳分析图利器...
- bootstrap文件不能被识别_树莓派安装openCV做图像识别
- CyanogenMod源码编译模拟器
- 逻辑漏洞之修改响应包绕过登录校验
- iOS应用横竖屏切换
- mysql connector api_mysql8 参考手册-Connector/J使用X DevAPI进行连接压缩
- html5 职工入职后台管理系统_10个酷炫的后台模板
- Kaggle 年度报告出炉:数据科学家年轻高学历,薪资近百万
- springboot做网站_Github点赞接近 100k 的Spring Boot学习教程+实战项目推荐!
- 浙江省二级计算机试题,2015浙江省计算机等级考试试题 二级ACCESS考试题库
- poj 动态规划总结
- 51单片机DHT11温湿度传感器
- python考拉兹猜想_Python练习题 042:Project Euler 014:最长的考拉兹序列
- 张飞流水帐(完整版)
- matlab 自激振荡,自激振荡系统matlab仿真课程设计
- P4017 最大食物链计数
- (转)TSQL和PLSQL的区别
- CSDN 2008英雄大会之“望穿秋水”
- python的图像处理库是啥_Python 图像处理库 Pillow 入门
- 云智慧助力MLOps加速落地