虽然CookieJar模块能够做到给请求设置cookie,但是它的cookie是保存在内存里的,每次用都需要重新设置,

这就衍生了一个它的子类---FileCookieJar,它可以将cookie保存在文件中,然后直接使用就可了

示例

cookie的保存

from urllib import request,parse

from http import cookiejar

# 创建filecookiejar实例对象

# 它需要一个参数,既cookie保存的位置

filename = 'cookie.txt'

cookie = cookiejar.FileCookieJar(filename)

# 根据创建的cookie生成cookie的管理器

cookie_handle = request.HTTPCookieProcessor(cookie)

# 创建http请求管理器

http_handle = request.HTTPHandler()

# 创建https管理器

https_handle = request.HTTPSHandler()

# 创建求求管理器,将上面3个管理器作为参数属性

# 有了opener,就可以替代urlopen来获取请求了

opener = request.build_opener(cookie_handle,http_handle,https_handle)

def login():

'''

负责初次登录

需要传递用户名和密码,来获取登录的cookie凭证

'''

# 登录url,需要从登录form的action属性中获取

url = 'http://www.renren.com/PLogin.do'

# 登录所需要的数据,数据为字典形式,

# 此键值需要从form扁担中对应的input的name属性中获取

data = {

'email':'136808069@qq.com',

'password':'123456'

}

# 将数据解析成urlencode格式

data = parse.urlencode(data)

req = request.Request(url,data=data)

# 正常是用request.urlopen(),这里用opener.open()发起请求

response = opener.open(req)

# 保存cookie文件

cookie.save()

if __name__ == '__main__':

'''

执行login函数

'''

login()

cookie的调用

from urllib import request,parse

from http import cookiejar

# 创建cookiejar实例对象

cookie = cookiejar.FileCookieJar()

# 读取已经保存的cookie文件

# 读取之后,就无需登录,直接访问主页即可

cookie.load('cookie.txt')

# 根据创建的cookie生成cookie的管理器

cookie_handle = request.HTTPCookieProcessor(cookie)

# 创建http请求管理器

http_handle = request.HTTPHandler()

# 创建https管理器

https_handle = request.HTTPSHandler()

# 创建求求管理器,将上面3个管理器作为参数属性

# 有了opener,就可以替代urlopen来获取请求了

opener = request.build_opener(cookie_handle,http_handle,https_handle)

def getHomePage():

'''

获取登录后的页面

'''

# 此url是登录后的链接地址

url = 'http://www.renren.com/965187997/profile'

# 如果已经执行了上面的login函数,

# 那么此时的opener已经是包含了cookie信息的一个opener对象

res = opener.open(url)

html = res.read().decode()

with open('renren.html','w') as f:

f.write(html)

if __name__ == '__main__':

getHomePage()

cookiejar包_爬虫之FileCookieJar相关推荐

  1. cookiejar包_爬虫之cookiejar模块

    简介 有时候我们需要爬一些需要登录才能进入网页,这个时候就要用到cookie相关的一些模块来操作了 内置的http包里包含了cookie相关的一些模块,通过她们我们可以自动使用cookie Cooki ...

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

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

  3. 黑*头条_第8章_爬虫系统搭建

    黑*头条_第8章_爬虫系统搭建 文章目录 黑*头条_第8章_爬虫系统搭建 目标 1爬虫是什么 2名词解释 2.1 Webmagic: 2.2 webmagic的总体架构: 2.3 webmagic的总 ...

  4. R_circlize包_和弦图(二)

    作者:李誉辉 四川大学在读研究生 往期精彩: R_插值_拟合_回归_样条 接上一篇:R_circlize包_和弦图(一) link弦可见 在需要强调某些relation时,需要高亮对应的弦,一般有4种 ...

  5. cookiejar包_net/http/cookiejar

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

  6. 离线安装python包_补充

    离线安装python包_补充 一.利用好pip,找到所有依赖库 1.要安装 paramiko,先 pip show 一下 paramiko 2.继续 pip show 其依赖库 3.继续 pip sh ...

  7. python爬虫抓图_Python系列之五_爬虫抓图

    Python系列之五_爬虫抓图 前面我们粗略地学习了Python语言的语法,一直学语法也挺无聊的,现在让我们让做一些有趣的事情. 例如你在百度贴吧里看到一篇文章,里面有很多好看的图片,但是一张张另存比 ...

  8. python 安卓模拟器 抓包_python + 爬虫 + fiddler + 夜神模拟器 爬取app(1)

    抓包 抓包是爬虫里面经常用到的一个词,完整的应该叫做抓取数据请求响应包 ,而Fiddler这款工具就是干这个的 普通https抓包设置 打开Fiddler ------> Options .然后 ...

  9. 打蚊子表情包_打蚊子表情包 - 打蚊子微信表情包 - 打蚊子QQ表情包 - 发表情 fabiaoqing.com...

    拍打蚊子GIF - 蚊子表情包_蚊子表情 夏天来了,打蚊子_蚊子_夏天表情 为什么蚊子只爱我 - 蚊子表情包_蚊子表情 采访蚊子 请问你为什么要咬我 - 蚊子表情包_蚊子表情 蚊子飞在屎上 - 打屎打 ...

最新文章

  1. vue.js 源代码学习笔记 ----- 工具方法 lang
  2. 如何维持整洁的 Git 提交记录?送你三个锦囊!
  3. linux 返回上一个文件夹_常用命令之linux指令
  4. OpenCV使用Shi-Tomasi方法检测拐角的实例(附完整代码)
  5. 不带头结点的单链表------C语言实现(带注释)
  6. Thinkphp 配置不用输入index.php
  7. jQuery教程05-层级选择器
  8. android 底部停靠 底部吸附_android让xml布局的底部跟随软键盘
  9. tsung压测mysql_高并发测试工具Tsung使用教程
  10. java中常用的算法--URL
  11. 教务管理系统数据字典mysql_数据库课程设计报告--教务管理系统设计
  12. QGIS Server安装教程
  13. python零基础教学plc_编程零基础应当如何开始学习 Python?
  14. 视频格式转换软件哪个快又好用?视频转换器苹果mac版推荐
  15. 360浏览器如何设置默认极速模式
  16. C# Environment
  17. linux网络不通检查方法
  18. 香橙派PC Plus电脑开发板制作网络打印服务器
  19. 组件、插件、控件的区别
  20. web渗透--ftp暴力破解,明文、嗅探安全等

热门文章

  1. 奇闻异事之NoSuchMethodError
  2. Burpsuite如何抓取使用了SSL或TLS传输的 IOS App流量
  3. 2016年4月20日作业
  4. 【HDU 5532 Almost Sorted Array】水题,模拟
  5. 【翻译】针对多种设备定制Ext JS 5应用程序
  6. System.Delete - 从字符串中删除
  7. OpenJudge NOI 1.5 02:财务管理
  8. Polynomial(HDU-6668)
  9. 搜索 —— 深搜的剪枝技巧
  10. Milking Time(POJ-3616)