利用 requests 处理cookie

Cookie

        很多网页在进入时是需要登录的

       用户登录会有如下流程:

  1. 请求端带着用户名密码发起请求
  2. 服务端进行校验
  3. 服务端返回时会同时返回一个cookie(一些乱七八糟的代码),cookie 理解为一个服务端对于电脑的一个身份标识,下次带着cookie访问服务器,服务端就会返回与 cookie 相关的信息

         比如我想看到这个账号的书架里有哪些书,我可以这样做:

1.登录->得到cookie

2.带着cookie请求书架对应url->得到该账户书架上的内容

        注意:两个操作必须连续起来做,因此,使用session(会话)进行请求(session相当于一连串的请求,保持登录状态,且过程中的 cookie 不会丢失,可使用get、requests等)

登录请求

         登录后,有个 login 里面的参数就是我们带着发起请求的信息

         我们发起请求的 url 就有了,带着参数发起请求

import requests
# 发起会话
session = requests.session()
# 指定url和参数
url = 'https://passport.17k.com/ck/user/login'

data = {
    'loginName': '账号',
    'password': '密码'
}
# 带着会话发起请求(模拟用户登录)
resp = session.post(url, data=data)

# 返回的是用户信息
print(resp.text)

# 返回的是cookie字串
print(resp.cookies)

        此时我们就得到 cookie 了

带着 cookie 请求书架信息

        一番寻找后发现书架的信息在右边这个shelf包里,我们带着 cookie 对这个url发起请求就可以得到书架的数据了,返回的是json形式的数据

         注:不能直接requests.get()这个url,因为刚才的那个 session 保存上下文会话,知道用户的cookie是什么,这样才能在再次发送请求的时候知道前面的 cookie 是什么

# 拿着session请求
resp=session.get('https://user.17k.com/ck/author2/shelf?page=1&appKey=2406394919')
# 得到响应数据
print(resp.json())

总结

         在遇到登录后才能操作的情况,session 保存上下文会话

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

带带琪宝

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

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

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

打赏作者

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

抵扣说明:

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

余额充值