session()方法
会话对象让你能够跨请求保持某些参数。它也会在同一个 Session 实例发出的所有请求之间保持 cookie,如果你向同一主机发送多个请求,底层的 TCP 连接将会被重用,从而带来显著的性能提升
session()中添加cookie
session()中添加cookie有两种情况,第一种cookie传参为字典格式,则需要通过requests.cookies.RequestsCookieJar()的set方法将其转换成Jar包格式然后update到session()对象中,第二种cookie直接传参Jar包格式。这种直接update将cookies更新到session()对象中
import requests
# 字典格式的cookie添加方法
r = requests.session()
cookie = {"cookie1": "value_1", "cookie2": "value2"}
c = requests.cookies.RequestsCookieJar()
for key, value in cookie.items():
c.set(key, value) # 添加cookie到RequestsCookieJar中
r.cookies.update(c) # 将RequestsCookieJar中的cookie更新到session()中
print(r.cookies)
# jar包格式的cookie添加方法
s = requests.session()
print(s.cookies)