requests的cookie使用

基于session对象实现自动处理cookie思路。

1、当一个请求头包括set-cookie,说明对该url发请求会返回一个cookie,此时可以通过seesion对象接收这个值,后续使用该seesion对象发请求,便会带上这个cookie,因此cookie通过seesion对带有set-cookie的请求保存cookie,也可以通过手动设置添加cookie。

步骤:

1.建一个空白的session对象。
2.使用session对象会返回cookie的请求,目的是为了捕获cookie,然后存储到session对象
3.使用携带cookie的session对象发起请求就可以实现携带cookie的请求发送,从而获取想要的数据。
注意:session对象至少需要发起两次请求,所以效率相对直接发requests会慢点,所以不需要cookie的情况不必要使用session

import requests
session = requests.Session() # 空白session对象
headers = {
    'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.80 Safari/537.36',
}
main_url = 'https://xueqiu.com/'
session.get(url=main_url,headers=headers) # 获取cookie存储到session 
url = 'https://xueqiu.com/statuses/hot/listV2.json'
param = {
    "since_id": "-1",
    "max_id": "311519",
    "size": "15",
}
#手动设置cookie,多个的话就写多行
seesion.cookies.set('id',123456)
#此时的session发请求带有cookies,该cookie包含手动添加和发起url获得的cookie
response = session.get(url=url,headers=headers,params=param)
data = response.json()
print(data)
#响应头中的cookie获取
import requests
def get_buvid3():
    url = 'https://www.bilibili.com/video/BV17R4y1G7qt?spm_id_from=333.999.0.0'
    headers = {
        'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36'
    }
    response = requests.get(url=url,headers=headers)
    #响应头中的cookie获取
    result = response.cookies.get_dict()
    return result['buvid3']
buvid3_value = get_buvid3()
print(buvid3_value)

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郑*杰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值