Python获取饼干的作用是什么

  

这篇文章将为大家详细讲解有关Python获取cookie的作用是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

cookie是什么?

Cookie,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。在web开发中,经常需要对会话进行跟踪。因为http请求是无状态协议,也就是说仅仅通过http,服务器无法区分出不同的客户端。也就是说你访问这个页面之后,在刷新一次,没有cookie的话,服务器完全不知道现在刷新的和刚才访问的是同一用户,它都当作是新的请求来处理,所以这就带来了一定的不方便。特别是需要登录的页面,总不能每个页面都登录一次,每刷新一次就要登录一次吧。也就是说需要某种机制来增强http协议,使得服务器可以区分出这是同一个客户端。而这个机制就是cookie。

cookie如何工作

当你第一次访问某个网站的时候,服务器会给你颁发一个特定的cookie,之后你每次访问这个站点,你发送的请求头里都会带上相应的cookie,这样服务器便知道这俩请求是同一个客户发送的。

Python获取cookie的作用是什么

第一次访问某个网站,服务器会给你个cookie,response headers里有一个set-cookie 字段,就是告诉浏览器,把这个cookie放到本地,以后访问我这个站点的时候,都把这个cookie带上,我就知道你是谁了。

然后刷新页面,相当于第二次访问

Python获取cookie的作用是什么

会发现,第二次访问的时候,response headers里边已经没有这个set cookie字段了,但是request headers 里多了一个cookie字段,而且仔细观察的话,你会发现这个值恰恰就是刚刚response headers set cookie字段的值。其实只要你不关闭浏览器,在打开一个窗口你会发现这个cookie值还是这个,默认情况下,关掉浏览器或者换一个浏览器,服务器就认为这是一个新的会话了。而cookie的保存时间是可以设定的,你会发现知乎,简书等网站,只要你登陆成功之后,即使关闭浏览器,过几天之后还是登陆状态,说明这个cookie是一个持久的cookie,保存时间比较长。

从上述俩张图,可以发现cookie是实实在在存在于http请求和响应报头的。

如何用python实现cookie登陆

既然大概明白了cookie机制,我们就尝试用cookie进行登陆。以登陆知乎为例,如果你用账号密码登陆,验证码是个大问题,起码目前对我来说是这样,所以你先用浏览器手动登陆知乎。右键进入开发者选项,network,选择www.zhihu.com,查看请求头信息。

Python获取cookie的作用是什么

然后把cookie复制下来,可以开始写代码了。

import requests
  得到bs4  import  BeautifulSoup
  头={
  & # 39;用户代理# 39;:& # 39;Mozilla/5.0, (Windows  NT  10.0;, WOW64), AppleWebKit/537.36, (KHTML, like 壁虎),Chrome/61.0.3163.100 
  Safari/537.36 & # 39;
  & # 39;推荐人# 39;:& # 39;https://www.zhihu.com/& # 39;
  & # 39;饼干# 39;:& # 39;q_c1=36160 dc56c7d4cf3af14559e4ea69ed1 | 1508646188000 | 1508646188000;, q_c1=e1adb01bc55343c0b61e0d4e08f73344 |
  1508646188000 | 1508646188000;,_zap=7926 df57 - 02 - e2 - 45 - a7 - 9244 - 85 - ff9156e100; d_c0=癆BACCuGPkwyPTgYydZLhc0-YwrldDeOJ3_w=|
  1508841150,,,r_cap_id=癗jE4YWExOTIxM2YwNGVlODhmNjc5ZDE3MGQyNWM0MjM=| 1508844066 |
  4207 fbc525684854cb948b64e10a3c693a999056";, cap_id=癥zRhYmM5YTJhZWM4NGFiYWExOGYzOTU1ZjczMGMyOGI=| 1508844066 |
  a828518b3a798b99e4ea0cd6a54f25dc31d70c6d"; z_c0=Mi4xTk5WX0FnQUFBQUFBRUFJSzRZLVREQmNBQUFCaEFsVk5zM0RjV2dDWEhfTS16TmV1
  dk80dTVZSnpqOGNpX3NpblF3 | 1508844211 | c34b0d4374988f038beedfa2cbcd48e2271a0c66; __utma=51854390.9389312.1508841151。
  1508841151.1508843285.2;,__utmz=51854390.1508841151.1.1.utmcsr=百度| utmccn=(有机)| utmcmd=有机;__utmv=51854390。
  100 - 1 | 2=registration_date=20160120=1 ^ 3=entry_date=20160120=1;, aliyungf_tc=AQAAAB0uB1XAWQIAE7YKcClINzXafvOI;,
  _xsrf=3283 d7f2 - 8 e92 - 4 - b94 9 - b0e - 1105 c2d069d0& # 39;
  }
  res=requests.get (“https://www.zhihu.com/search?type=content& q=java",标题=标题)
  汤=BeautifulSoup (res.text & # 39; html.parser& # 39;)
  n=soup.select (“.list") [0] .select (“.item") 

Python获取饼干的作用是什么