requests进阶——处理cookie、防盗链

requests处理cookie发送请求

举例:查看小说书架

requests进阶——处理cookie、防盗链_第1张图片

 代码如下:

"""
假设现在要查看小说书架,那么首先需要登录获取用户信息,才可以看到用户的书架数据
即要先登录,拿到服务器返回的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'})

requests处理防盗链

视频教程:防盗链

你可能感兴趣的:(python,爬虫,python,爬虫)