举例:查看小说书架
?代码如下:
"""
假设现在要查看小说书架,那么首先需要登录获取用户信息,才可以看到用户的书架数据
即要先登录,拿到服务器返回的cookie,然后带着cookie发送请求,获取书架信息
所以上面要连着发送两个请求:登录请求拿到cookie,带着cookie拿到小说书架信息
而如果用requests发送请求,每一次发送都是依次新的请求,不会把两次请求进行关联
所以实现这个需求需要用session(会话)完成
session相当于两个人聊天,可以报讯之前的聊天内容,所以可以记住cookie
"""
import requests
# 登录
login_url = 'xxx' # 登录小说网站的url
session = requests.session() # 创建会话
# 利用会话来发送请求
# 目的就是在第二次请求时能够携带cookie
data = {
'username': 'xxx',
'password': 'xxx'
}
# session用法和requests一样,可以用get/post方法发送请求
res1 = session.post(login_url, data=data)
print(res1.cookies) # 服务器返回了cookie,并且保存到了session中
# 获取小说书架信息
url = 'xxx'
# 此时session中有cookie
res2 = session.get(url)
print(res2.json()) # 以json形式查看返回的数据
# 如果一定用requests发送请求的话,需要在请求头中添加cookie信息
# 实际上用session内部也是进行这一操作:通过在headers添加cookie数据的
resp = requests.get(url, headers={'Cookie': 'xxx'})
视频教程:防盗链