python爬虫中的cookie详解

Cookies基础

cookie数据长什么样:

  清除浏览器历史数据

  登录豆瓣查看cookies数据

  查看第一个请求,这里是比较干净的,它没有cookie,应答也没有cookie,应答码是301,实际请求是location这个地方,所以我们的浏览器发送了第二个请求。

python爬虫中的cookie详解_第1张图片

  第二个请求里面也没有cookie,但是它的应答包含了Set-cookie,这比较像我们的浏览器保存了两条数据,每一条cookie数据里面都必须有Set-cookie这个头设置,后面跟了pathdomain,它表示这个cookie的作用域,就是这个cookie对哪个网站有效,因为一个网站只能设置自己的cookie,不能设置别的网站的cookie,如果设置别的网站的cookie,那这个就会存在一些安全上的问题,这里的expires表示这个超时时间。

python爬虫中的cookie详解_第2张图片

  第三个请求,这个请求就会把刚才哪个应答里面设置的cookie发回给服务器,实际上这里面的字符串的值和前面的是一样的。

python爬虫中的cookie详解_第3张图片

cookie的格式

1)客户端发送cookie时:

Cookiekey1=value1key2=value2key3=value3

2)服务器端保存cookie时:

Set-cookiekey1=value1path=/domain=xx

cookie属性

1domainpath:定义cookie的作用域,当指定domain时,这个domain及其子域名都会包含这个cookie

2Expires:定义cookie的生命周期

3HttpOnly:禁用脚本访问(这是个安全性的考虑就是这个cookie只能通过浏览器去访问,而不能通过脚本去访问,因为如果通过脚本去访问这个cookie的话,会引来一些脚本的问题)

cookie的用途:

1.登录信息:判断用户是否已经登录

  登录时,我们经常会有保存密码这个选项,但是你如果选择了保存密码这个选项,实际上是浏览器会把这些cookies写到文件系统里面,那下次凭着这个cookie就可以自动登录上去了。

2.购物车:保存用户购买的商品列表

  我们经常上一些购物网站的时候,即使我们没有登录,我们也可以把商品加到购物车里面,那这个购物车是保存在哪里的呢?实际上就是保存在cookie里面,就是服务器把这个购物的信息,商品的信息通过cookie的形式保存在客户端然后再把这个cookie发过去,那服务器就会知道你的客户端到底保存了什么信息

cookie小结

1)服务器在客户端存储的信息。

  这些信息客户端上实际是不知道的,这些信息是由服务器来生成并且由服务器来解释。

2)请求时,客户端需要把未超时的cookies发回给客户端。

Cookiebid=”kmlFWje+MYs”;||=”118201”

  应答时,服务器会把新的cookies,以便下次请求时带上这些cookies

python爬虫中的cookie详解_第4张图片

 

原文链接:http://www.maiziedu.com/wiki/crawler/cookie1/

你可能感兴趣的:(python爬虫中的cookie详解)