cookie的保存与提取

爬虫过程中,cookie可以保留用户与服务器之间的交互信息,使服务器与用户相互能够识别。由于HTTP协议是无状态协议,即不能够识别客户端身份,即使客户端多次请求同一个url服务器仍然响应。这种协议导致服务器工作效率低下。为了解决这个问题,cookie产生的目的就是为了让服务器识别同一客户端。

cookie一般保存在客户端,工作步骤为:

1.客户端第一次请求,与服务器建立关联;

2.服务器向客户端发送cookie,包含两者间的身份识别信息;

3.客户端将cookie保存在本地;

4.客户端下次请求同一网址从本地提取cookie信息,供服务器识别客户端身份。

一、提取cookie

import requests

from http import cookieJar

#构建cookie对象

cookie=cookieJar.LWPCookieJar('cookie.txt')

#将cookie对象与session对象关联

session=requests.session()

session.cookies=cookie

try:

    session.cookies.load(ignore_discard=True)

exept:

print('获取cookie失败')

二、保存cookie

r=session.post(url,data=data)

r.cookies.save('cookies.txt')

原文地址:https://www.cnblogs.com/zhuluqing/p/8469057.html