一、什么是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的更多相关文章

  1. python爬虫--cookie反爬处理

    Cookies的处理 作用 保存客户端的相关状态 在爬虫中如果遇到了cookie的反爬如何处理? 手动处理 在抓包工具中捕获cookie,将其封装在headers中 应用场景:cookie没有有效时长 ...

  2. Python爬虫7-Cookie & Session

    GitHub代码练习地址:1.手动利用cookie访问网页:https://github.com/Neo-ML/PythonPractice/blob/master/SpiderPrac10_cook ...

  3. Python爬虫 Cookie的使用

    Cookie,指某些网站为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据(通常经过加密) 比如说有些网站需要登录后才能访问某个页面,在登录之前,你想抓取某个页面内容是不允许的.那么 ...

  4. python爬虫 - Urllib库及cookie的使用

    http://blog.csdn.net/pipisorry/article/details/47905781 lz提示一点,python3中urllib包括了py2中的urllib+urllib2. ...

  5. Python爬虫入门之Cookie的使用

    本节我们一起来看一下Cookie的使用. 为什么要使用Cookie呢? Cookie,指某些网站为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据(通常经过加密) 比如说有些网站需要 ...

  6. Python爬虫入门六之Cookie的使用

    大家好哈,上一节我们研究了一下爬虫的异常处理问题,那么接下来我们一起来看一下Cookie的使用. 为什么要使用Cookie呢? Cookie,指某些网站为了辨别用户身份.进行session跟踪而储存在 ...

  7. Python爬虫教程-12-爬虫使用cookie爬取登录后的页面(人人网)(上)

    Python爬虫教程-12-爬虫使用cookie(上) 爬虫关于cookie和session,由于http协议无记忆性,比如说登录淘宝网站的浏览记录,下次打开是不能直接记忆下来的,后来就有了cooki ...

  8. Cookie的Python爬虫应用

    Cookie的Python爬虫应用 目录 Cookie是什么 Cookie的作用 Cookie的内容 domain属性 path属性 expires/Max-Age属性 Cookie的爬虫应用 Coo ...

  9. 小白学 Python 爬虫(10):Session 和 Cookies

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  10. Python爬虫笔记【一】模拟用户访问之设置处理cookie(2)

    学习的课本为<python网络数据采集>,大部分代码来此此书. 做完请求头的处理,cookie的值也是区分用户和机器的一个方式.所以也要处理一下cookie,需要用requests模块,废 ...

随机推荐

  1. 第03讲 fragment

    Fragment 官网文档:https://developer.android.google.cn/guide/components/fragments 什么是Fragment 在手机上,Activi ...

  2. svn忽略文件不提交至服务器的方法

    在提交界面,右键加入忽略提交列表.可以实现忽略本地文件不提交,且不删除服务器上的文件.

  3. LeetCode刷题191125

    博主渣渣一枚,刷刷leetcode给自己瞅瞅,大神们由更好方法还望不吝赐教.题目及解法来自于力扣(LeetCode),传送门. 今天状态不好,划一下水. 算法: 给定一个整数数组 nums 和一个目标 ...

  4. SQL Server如何找出一个表包含的页信息(Page)

    在SQL Server中,如何找到一张表或某个索引拥有那些页面(page)呢? 有时候,我们在分析和研究(例如,死锁分析)的时候还真有这样的需求,那么如何做呢? SQL Server 2012提供了一 ...

  5. InnoDB On-Disk Structures(三)--Tablespaces (转载)

    转载.节选于 https://dev.mysql.com/doc/refman/8.0/en/innodb-tablespace.html This section covers topics rel ...

  6. luoguP1871 对撞机【赛后第一题

    题面 题目描述 在2312年,宇宙中发现了n台巨型对撞机,这些对撞机分别用1-n的自然数标识.科学家们不知道启动这些对撞机会发生什么危险事故,所以这些机器,刚开始都是出于关闭的状态. 随着科学家们的研 ...

  7. java.lang.IllegalStateException: Cannot call sendError() after the response has been committe

    1.问题描述 严重: Servlet.service() for servlet [default] in contextwith path [/OxygenCloud] threw exceptio ...

  8. fiddler 常用命令及快捷键

    1.搜索: ?  baidu.com 2.bpu 发起请求时中断 设置断点 bpu baidu.com 取消断点:bpu 3.bpafter  收到响应后中断 设置断点:bpafter baidu.c ...

  9. STM32基本GPIO操作:点灯(库函数+寄存器)

    社团作业=_= 开发版上的LED灯负极连接在PB5口,正极串联一510Ω电阻后与3.3V相连 若开发板不带LED灯则需要自行连接,务必串联一个合适的电阻防止LED灯烧坏 零.一个有趣的延时函数 来自于 ...

  10. 基于V7的新版RL-USB V6.X + RL-FlashFS V6.X模板,操作CLASS10的SD卡速度12-15MB/S,含RTX5和FreeRTOS两版

    说明: 1.如果需要RL-USB源码的话,将DAPLink(CMSIS-DAP)里面的USB代码导出来即可,DAPLink开源了RL-USB的Device代码.      也可以反过来,在工程模板的基 ...