一、什么是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. MySQL 重置Mysql root用户账号密码

    重置Mysql root用户账号密码 By:授客 QQ:1033553122   问题描述: 使用mysqladmin.exe执行命令时出现以下错误提示: mysqladmin: connect to ...

  2. Tesseract.js 一个几乎能识别出图片中所有语言的JS库

    Tesseract.js 一个几乎能识别出图片中所有语言的JS库. 官网:http://tesseract.projectnaptha.com/ git:https://github.com/napt ...

  3. ES6-Proxy,代理

    proxy 代理 Es6 增强 对象和函数(方法)   Proxy用于修改某些操作的默认行为,即对编程语言层面进行修改,属于“元编程”, Proxy意思为“代理”,即在访问对象之前建立一道“拦截”,任 ...

  4. Harbor 清理镜像(此方法比较粗暴,但是有效)

    0x00 事件 Harbor 私有仓库中占有的存储慢慢越来越大,使用官方的清理工具以及 UI 上的垃圾清理,都似乎也不能清理掉-- 后来吾用了一种简单粗暴的方法清理镜像--删除 harbor regi ...

  5. Linux命令详解 三

    Linux用户和组的属性与权限本章结构1.用户账号和组账号概述2.用户账号和组账号管理3.查询账号信息4.查看目录或文件的属性5.设置目录或文件的权限6.设置目录或文件的归属 前言在linux中一切都 ...

  6. 误区以为父组件render一次,子组件会重新初始化

    初学react的时候我有一个误区,以为父组件render的一次,会将子组件先卸载,再将子组件重新初始化,事实证明不是. 这是对react生命周期函数不太清楚. 父子组件都初始化后,父组件再render ...

  7. JavaScript-----7.循环

    1.循环 在JS中主要有以下三种类型的循环 for循环 while循环 do...while循环 2. for循环 2.1 语法结构如下: for (初始化变量: 条件表达式: 操作表达式) { // ...

  8. nlp英文的数据清洗代码

    1.常用的清洗方式 #coding=utf-8 import jieba import unicodedata import sys,re,collections,nltk from nltk.ste ...

  9. 高阶组件&&高阶函数(一)

    antd里面的form表单方面,遇到一个高阶函数,以及高阶组件,于是看了一下这方面内容,前辈们的文章写得也非常详细,这里就稍微kobe一下 高阶函数与高阶组件 高阶函数: 高阶函数,是一种特别的函数, ...

  10. [译]Vulkan教程(19)渲染和呈现

    [译]Vulkan教程(19)渲染和呈现 Rendering and presentation 渲染和呈现 Setup 设置 This is the chapter where everything ...