【python爬虫】cookie & session
一、什么是cookie?
cookie是指网站为了鉴别用户身份,进行会话跟踪而存储在客户端本地的数据。
二、什么是session?
本来的含义是指有始有终的一些列动作,而在web中,session对象用来在服务器存储特定用户会话所需要的属性及信息。
三、cookie和session产生的原因:
cookie和session他们不属于http协议范围,由于http协议是无法保持状态,但实际情况,我们有需压保持一些信息,作为下次请求的条件,所有就产生了cookie和session。
四、cookie的原理:
1、由服务器产生,当浏览器第一次登录,发送请求到服务器,服务器返回数据,同时生成一个cookie返回给客户端,客户端将这个cookie保存下来。
2、当浏览器再次访问,浏览器就会自动带上cookie信息,这样服务器就能通过cookie判断是哪个用户在操作。
五、cookie的缺陷:
1、不安全--保存在客户端。
2、cookie本身最大支持4096(4kb)---存储大小受限。
六、session的工作原理。
1、正是因为cookie的缺陷,所有产生了另外一种保持状态的方法---session。
2、服务器存储session,基于http协议的无状态特征,所以服务器就不知道这个访问者是谁。为了解决这个问题,cookie就起到了桥的作用。cookie在使用的过程中,将一个叫做sessionid的字段放到cookie中,将来服务器可以通过这个id字段来查找到地上那个用户的session。
3、session的生命周期:当用户第一次登陆时创建(生命开始),到session有效期结束(30min)。
七、当我们浏览器关闭,session是否就失效了?
不失效,原因,session失效使用生命周期决定的。
八、cookie组成:
1、name:cookie名称,一旦创建,不可更改。
2、value:该cookie的值
3、domain:者cookie可以访问网站域名。
4、maxage:cookie的失效时间。负数是永不失效。
5、path:这个使用路径
6、http字段:cookie的httponly,若次属性为true,则只有http头中会带此cookie。
7、secrue:该cookie是否仅被使用安全传输协议。
8、size:cookie的大小
九、会话cookie和持久cookie。
1、持久化:将内存中的数据存储到硬盘(文件中,数据库)上的过程。
2、序列化:将对象保存到硬盘上。
会话cookie:保存在内存中cookie,浏览器关闭,cookie失效。
持久cookie:保存在硬盘上的cookie。
十、用requests实现登陆:
1、只需要将【登陆后的】cookie字段封装在请求头中。
2、使用requests的session对象登陆
session对象可以记录登陆状态。
使用步骤
#session:记录登陆状态
se = requests.Session()
data = {
'email':'',
'password':'',
} #此时se对象就保存了登陆信息
se.post(base_url,data = data,headers = headers)
------------------------------------------
index_url = 'http://www.renren.com//profile'
#用se对象来进行个人首页的访问,就可以了
response = se.get(index_url,headers=headers)
if '一棵树0108' in response.text:
print('登陆成功!')
else:
print('登陆失败!')
【python爬虫】cookie & session的更多相关文章
- python爬虫--cookie反爬处理
Cookies的处理 作用 保存客户端的相关状态 在爬虫中如果遇到了cookie的反爬如何处理? 手动处理 在抓包工具中捕获cookie,将其封装在headers中 应用场景:cookie没有有效时长 ...
- Python爬虫7-Cookie & Session
GitHub代码练习地址:1.手动利用cookie访问网页:https://github.com/Neo-ML/PythonPractice/blob/master/SpiderPrac10_cook ...
- Python爬虫 Cookie的使用
Cookie,指某些网站为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据(通常经过加密) 比如说有些网站需要登录后才能访问某个页面,在登录之前,你想抓取某个页面内容是不允许的.那么 ...
- python爬虫 - Urllib库及cookie的使用
http://blog.csdn.net/pipisorry/article/details/47905781 lz提示一点,python3中urllib包括了py2中的urllib+urllib2. ...
- Python爬虫入门之Cookie的使用
本节我们一起来看一下Cookie的使用. 为什么要使用Cookie呢? Cookie,指某些网站为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据(通常经过加密) 比如说有些网站需要 ...
- Python爬虫入门六之Cookie的使用
大家好哈,上一节我们研究了一下爬虫的异常处理问题,那么接下来我们一起来看一下Cookie的使用. 为什么要使用Cookie呢? Cookie,指某些网站为了辨别用户身份.进行session跟踪而储存在 ...
- Python爬虫教程-12-爬虫使用cookie爬取登录后的页面(人人网)(上)
Python爬虫教程-12-爬虫使用cookie(上) 爬虫关于cookie和session,由于http协议无记忆性,比如说登录淘宝网站的浏览记录,下次打开是不能直接记忆下来的,后来就有了cooki ...
- Cookie的Python爬虫应用
Cookie的Python爬虫应用 目录 Cookie是什么 Cookie的作用 Cookie的内容 domain属性 path属性 expires/Max-Age属性 Cookie的爬虫应用 Coo ...
- 小白学 Python 爬虫(10):Session 和 Cookies
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...
- Python爬虫笔记【一】模拟用户访问之设置处理cookie(2)
学习的课本为<python网络数据采集>,大部分代码来此此书. 做完请求头的处理,cookie的值也是区分用户和机器的一个方式.所以也要处理一下cookie,需要用requests模块,废 ...
随机推荐
- (草稿)如何判断一名UiPath开发人员是否合格?
一名合格的UiPath开发人员究竟需要具备什么核心技能?业务梳理?沟通技巧?VB.net吗?VBA吗?Python?还是SQL?出于多种原因,关于这一点总是众说纷纭,莫衷一是.尽管这些技术都算沾边,但 ...
- SQL Server解惑——为什么你的查询结果超出了查询时间范围
废话少说,直接上SQL代码(有兴趣的测试验证一下),下面这个查询语句为什么将2008-11-27的记录查询出来了呢?这个是同事遇到的一个问题,个人设计了一个例子. USE AdventureWorks ...
- 将 云数据库MongoDB(阿里云)物理备份文件下载恢复至本地自建数据库 遇到的5个问题
有时候我们可能需要将云上数据库下载到本地,下面是我们在操作MongoDB数据库时遇到的五个小问题. 其实现在RDS的 帮助文档 写的都比较详细了,大家在第一次操作时,可以细读一下,避免一些不必要的问题 ...
- [PHP]关于连接MySQL的问题
概述 PHP中无论使用MySQL函数抑或PDO连接MySQL服务器,都允许有两种方式,一是通过TCP网络层,一是通过unix socket: PHP并没有给出指明用何种方式去连接数据库,决定使用何种方 ...
- centos7 链路聚合+KVM桥接连网
一.两个物理网卡做链路聚合(em3,em4) 1)创建team类型的网卡,连接别名为team0,使用的模式为activebackup-主备/loadbalance-负载均衡nmcli con add ...
- IntelliJ IDEA安装与使用
官网:https://www.jetbrains.com/ 点击 点击下载 点击
- 用 Python 图像识别打造一个小狗分类器
项目介绍 小狗分类器可以做什么? 通过这个分类器,你只需要上传照片,就可以得到小狗的品种,以及更多的信息. 这就是所谓的「机器学习」,让机器自己去“学习”.我们今天要做的这个分类任务,是一个“监督 ...
- IT兄弟连 HTML5教程 CSS3揭秘 CSS选择器1
要使用CSS对HTML页面中的元素实现一对一.一对多或者多对一的控制,就需要用到CSS选择器.选择器是CSS3中一个重要的内容,使用它可以大幅度地提高开发人员书写或修改样式表的效率.在大型网站中,样式 ...
- DEBUG 命令用法
(2)DEBUG 命令用法 进入 DEBUG ,用 D 命令查看数据段中 0100H——0200H 单元的内容 用 U 命令查看代码段中 0100H 开始的程序 用 R 命令查看并修改 IP 寄存器的 ...
- 01-linux介绍
一.Linux简介 Linux内核最初只是由芬兰人林纳斯.托瓦兹在大学时出于爱好写出来的,是一套免费使用和自由传播的类Unix操作系统,是基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU ...