介绍
本篇文章为大家展示了Python中Cookie是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
饼干是指某些网站服务器为了辨别用户身份和进行会话跟踪,而储存在用户浏览器上的文本文件,饼干可以保持登录信息到用户下次与服务器的会话。
HTTP是无状态的面向连接的协议,为了保持连接状态,引入了饼干机制.Cookie是HTTP消息头中的一种属性,包括:
饼干名字(名字)
Cookie的值(值)
饼干的过期时间(到期/信息)
饼干作用路径(路径)
饼干所在域名(域),
使用饼干进行安全连接(安全).
前两个参数是饼干应用的必要条件,另外,还包括饼干大小(大小、不同浏览器对饼干个数及大小限制是有差异的)。
饼干由变量名和值组成,根据网景公司的规定,饼干格式如下:
set - Cookie:, Name=价值;到期=日期;路径=路径;域=DOMAIN_NAME;安全
<强>饼干应用强>
饼干在爬虫方面最典型的应用是判定注册用户是否已经登录网站,用户可能会得到提示,是否在下一次进入此网站时保留用户信息以便简化登录手续。
import urllib.request #,1只构建一个已经登录过的用户的头信息 headers =, { ,,,“User-Agent":,“Mozilla/5.0, (Macintosh;, Intel Mac OS X 10 _14_4), AppleWebKit/537.36, (KHTML, like 壁虎), ,,,Chrome/73.0.3683.103 Safari/537.36“, ,,,“Cookie":,“anonymid=jurpmxe9-orl7u3;“ ,,,,,,,,,,,,,“depovince=BJ;“ ,,,,,,,,,,,,,,,_r01_=1;,“ ,,,,,,,,,,,,,“JSESSIONID=abcwYLyIY7VNIhCDVWcPw;“ ,,,,,,,,,,,,,,,jebe_key=f6fb270b-d06d-42e6-8b53-e67c3156aa7e % 7 cc13c37f53bca9e1e7132d4b58ce00fa3 % 7 c148406060 ,,,,,,,,,,,,,7 c1 % 7 c1484060607173 7478%;“ ,,,,,,,,,,,,,,,jebecookies=f1fd29c4 bd08 - 4 d66 - 8834 - 72 - e42b70d2cb | | | | |;,“ ,,,,,,,,,,,,,“ick_login=0 f790ea2 c8bf - 4 - d64 a394 - 36745 - febeb26;“ ,,,,,,,,,,,,,,,_de=622 de758381206eb340e4cec836f3769696bf75400ce19cc;“ ,,,,,,,,,,,,,,,p=7 e50f3fe10ca320e36dae001c72d392d3;“ ,,,,,,,,,,,,,,,美联社=327550029;“ ,,,,,,,,,,,,,,,first_login_flag=1;“ ,,,,,,,,,,,,,,,ln_uact=562352353 @qq.com;“ ,,,,,,,,,,,,,,,ln_hurl=http://hdn.xnimg.cn/photos/hdn121/20120930/2035/h_main_hcDy_40fc000002d91375.jpg;“ ,,,,,,,,,,,,,,,t=d7c6ae064b81ae15f5b91f5897dc61553;“ ,,,,,,,,,,,,,,,societyguester=d7c6ae064b81ae15f5b91f5897dc61553;“ ,,,,,,,,,,,,,,,id=485439163;“ ,,,,,,,,,,,,,,,xnsid=bc995dc8;“ ,,,,,,,,,,,,,,,版本=7.0;“ ,,,,,,,,,,,,,,,loginfrom=null" } #,2只通过标题里的报头信息(主要的是饼干信息),构建请求对象 request =, urllib.request.Request (“http://www.renren.com",,头=标题) , #,3只直接访问人人网主页,服务器会根据报头报头信息(主要的是饼干信息),判断这是一个已经登录的用户,并返回相应的页面 时间=response urllib.request.urlopen(请求) #,4只打印响应内容 打印(response.read () .decode (“utf-8"))
但是这样做太过复杂,我们先需要在浏览器登录账户,并且设置保存密码,并且通过抓包才能获取这个饼干,那有么有更简单方便的方法呢?
<强> cookielib库和HTTPCookieProcessor处理器强>
在Python处理Cookie,一般是通过http模块的cookiejar模块和urllib模块的HTTPCookieProcessor处理器类一起使用。
cookiejar模块:主要作用是提供用于存储饼干的对象。
HTTPCookieProcessor处理器:主要作用是处理这些饼干对象,并构建处理程序对象。
import urllib.request import urllib.parse 得到http import  cookiejar #,1只构建一个CookieJar对象实例来保存饼干 时间=cookie cookiejar.CookieJar () #,2只使用HTTPCookieProcessor()来创建饼干处理器对象,参数为CookieJar()对象 时间=cookie_handler urllib.request.HTTPCookieProcessor(饼干) #,3只通过,build_opener(),来构建 时间=opener urllib.request.build_opener (cookie_handler) null null null null null null null null null null null null null null null null null null null null nullPython中Cookie是什么