python中cookies怎么用_Cookie在python爬虫中怎么用?Cookielib又是什么?
我们登录一个网页或者软件的时候,都要输入账号才能进入界面,随后就可以看其中的内容了。Cookie就类似于担任一个审查员的身份。对想要访问人的身份进行大大小小的审核,合格的才能放任通行,之后我们就可以愉快的去获取自己想要的网页内容啦~听起来是不是非常厉害的作用?本篇小编就来教大家Cookie的用法,一起看看吧。
一、获取 Cookie 保存到变量
首先,我们先利用 CookieJar 对象实现获取cookie的功能,存储到变量中,先来感受一下import urllib2
import cookielib
#声明一个CookieJar对象实例来保存cookie
cookie = cookielib.CookieJar()
#利用urllib2库的HTTPCookieProcessor对象来创建cookie处理器
handler=urllib2.HTTPCookieProcessor(cookie)
#通过handler来构建opener
opener = urllib2.build_opener(handler)
#此处的open方法同urllib2的urlopen方法,也可以传入request
response = opener.open('http://www.baidu.com')
for item in cookie:
print 'Name = '+item.name
print 'Value = '+item.value
我们使用以上方法将cookie保存到变量中,然后打印出了cookie中的值,运行结果如下Name = BAIDUID
Value = B07B663B645729F11F659C02AAE65B4C:FG=1
Name = BAIDUPSID
Value = B07B663B645729F11F659C02AAE65B4C
Name = H_PS_PSSID
Value = 12527_11076_1438_10633
Name = BDSVRTM
Value = 0
Name = BD_HOME
Value = 0
二、保存 Cookie 到文件
在上面的方法中,我们将 cookie 保存到了cookie这个变量中,如果我们想将cookie保存到文件中该怎么做呢?这时,我们就要用到FileCookieJar这个对象了,在这里我们使用它的子类MozillaCookieJar来实现Cookie的保存import cookielib
import urllib2
#设置保存cookie的文件,同级目录下的cookie.txt
filename = 'cookie.txt'
#声明一个MozillaCookieJar对象实例来保存cookie,之后写入文件
cookie = cookielib.MozillaCookieJar(filename)
#利用urllib2库的HTTPCookieProcessor对象来创建cookie处理器
handler = urllib2.HTTPCookieProcessor(cookie)
#通过handler来构建opener
opener = urllib2.build_opener(handler)
#创建一个请求,原理同urllib2的urlopen
response = opener.open("http://www.baidu.com")
#保存cookie到文件
cookie.save(ignore_discard=True, ignore_expires=True)
三、从文件中获取 Cookie 并访问
那么我们已经做到把 Cookie 保存到文件中了,如果以后想使用,可以利用下面的方法来读取cookie并访问网站,感受一下import cookielib
import urllib2
#创建MozillaCookieJar实例对象
cookie = cookielib.MozillaCookieJar()
#从文件中读取cookie内容到变量
cookie.load('cookie.txt', ignore_discard=True, ignore_expires=True)
#创建请求的request
req = urllib2.Request("http://www.baidu.com")
#利用urllib2的build_opener方法创建一个opener
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
response = opener.open(req)
print response.read()
拓展:
cookielib 模块的主要作用是提供可存储cookie的对象,以便于与urllib2模块配合使用来访问Internet资源。Cookielib模块非常强大,我们可以利用本模块的CookieJar类的对象来捕获cookie并在后续连接请求时重新发送,比如可以实现模拟登录功能。该模块主要的对象有CookieJar、FileCookieJar、MozillaCookieJar、LWPCookieJar。 它们的关系:CookieJar—— 派生 ——>FileCookieJar—— 派生 ——->MozillaCookieJar和LWPCookieJar
以上就是python爬虫Cookie的使用方法以及Cookielib的简介。之前我们有讲过urllib模块,不过跟cookielib息息相关的是urllib2模块,小伙伴们不要记混了哦~更多Python学习推荐:PyThon学习网教学中心。
python中cookies怎么用_Cookie在python爬虫中怎么用?Cookielib又是什么?相关推荐
- python 中cookie_使用Python分析Cookies
前言 本文的灵感来自于: 正文 本文已豆瓣电影的Cookies为例, 展示了从Cookies的获取, 解析的过程. 我们在浏览器中看到的Cookies大概是这样的: Cookie:bid=hZdgjL ...
- python中的字典推导式_17.python 字典推导式(经典代码)
在昨天的文章中,我们介绍了关于** python列表推导式** 的使用,字典推导式使用方法其实也类似,也是通过循环和条件判断表达式配合使用,不同的是字典推导式返回值是一个字典,所以整个表达式需要写在{ ...
- Python爬虫中最重要、最常见、一定要熟练掌握的库
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 开始正文 Requests库是Python爬虫中最最最最最最重要与常见的库,一定要熟练掌握它. 下 ...
- 软件测试面试中都会问到哪些关于Python的问题?
本文转载自测试人社区(ceshiren.com),原文链接:https://ceshiren.com/tag/精华帖 语言特性 谈谈对Python和其他语言的区别 答:Python是一门语法简洁优美, ...
- Python的cookies与session
一. 渊源 当我们浏览一个网页,比如逛淘宝,我们在上面进行了登录,然后看上了心仪的东西并加入了购物车.临时有事,把电脑关掉了,第二天再重新打开这个界面的时候,我们发现并没有进行登录操作,就已经登陆上去 ...
- python爬虫股票指数变化_python爬虫中抓取指数的实例讲解
有一些数据我们是没法直观的查看的,需要通过抓取去获得.听到指数这个词,有的小伙伴们觉得很复杂,似乎只在股票的时候才听说的,比如一些数据的涨跌分析都是比较棘手的问题.不过指数对于我们的数据分析还是很有帮 ...
- python中tensor与variable_NLP实战篇之tf2中tensor、variable、gradient、ops
本文是基于tensorflow2.2.0版本,介绍了tf中变量.张量的概念,tf中梯度的计算方式和tensor相关的操作. 实战系列篇章中主要会分享,解决实际问题时的过程.遇到的问题或者使用的工具等等 ...
- python使用函数的目的_在Python 3.x中经常看到定义函数有一个单独的 * 参数?定义这样参数的目的是?怎样对其取值呢?...
参数在python中总是通过赋值进行传递的.在默认情况下,参数是通过其位置进行匹配的,从左到右,而且必须精确的传递和函数头部参数名一样多的参数. 这种默认的传递方式很简单 def f(a,b,c): ...
- python的继承用法_【后端开发】python中继承有什么用法?python继承的用法详解
本篇文章给大家带来的内容是关于python中继承有什么用法?python继承的用法详解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 面向对象三大特征 1.封装:根据职责将属性和方法 ...
最新文章
- 基于java+jdbc+servlet+jsp实现图书商城
- 3.软件开发的本质和基本手段
- python调用R语言,关联规则可视化
- P4022-[CTSC2012]熟悉的文章【广义SAM,dp,单调队列】
- 32查运行内存的map文件_Spark Shuffle调优之调节map端内存缓冲与reduce端内存占比
- 瑞丽,边陲的旖旎风情
- latex中文模板_都8012年了还不用LaTex编辑论文就out了!!
- 基于 PostgreSQL 的 EMQ X Auth ACL
- Grad-CAM在语义分割中的pytorch实现
- springboot 调用方法事物_springboot中使用@Transactional注解事物不生效的坑
- python匿名函数Lambda的两种用法
- win10自动修复重启,无法开机「完美解决」
- unturned服务器参数修改,《Unturned》3.X.X控制台指令教程
- 企业邮箱,孰优孰劣?
- iOS icon 尺寸
- ThinkPHP5数据库操作
- 2014年10月高等教育国际金融全国统一命题考试
- iOS Charles Proxy 教程
- STM32学习笔记——MDK新建项目
- QQ小程序模板消息填坑——40003、40035
热门文章
- 十二、安装redis3.2
- CSAPP:第八章 异常控制流1
- 第六次程序设计作业 计算器图型界面的设计
- asp.net关于如何准许api跨域访问
- Mybatis框架_part1
- 起止时间控制,显示格式控制
- C++11中新特性之:lambda 表达式
- 从0开始架构一个IOS程序—— 02 — 设置启动图标与启动页面
- sublime text3常用的一些快捷键
- x == (x = y) 不等于 (x = y) == x ?