爬虫中requests模块中session的实战应用

本文以学习通为例,来实际应用session(没有学习通的小伙伴可以自己去找一个登录页面,但要尽量找一个表单数据(下面提到了)没有变化的来实验,因为简单)

1.首先我们新建隐身窗口(无痕模式)进入学习通登录页面的网址:

登录

2.开始抓包,输入账号密码登录进入

3.在所抓的包中找到fanyalogin包

4.找到其中的User-Agent记录下来,headers中会用到。

5.同时记录下该包的表单数据(如下图 ):

 6.重复上述1 2 3 5步骤,对比两次记录的表单数据有哪些是不同的,由此可以看出两次的数据一致(马赛克部分为你的账号密码),数据一致证明数据为固定值(账号密码为输入值),可以直接放入data中构建data字典。

7.把该包的网址记录下来作为登录url,同时可以在该包中看到请求类型为post类型。

8.在登录成功的页面找到账号管理点击进入,并记录下其网址作为验证url,登录成功其title为:

账号管理---xx大学安全教育平台,若打开一个新页面,输入网址,则其title为:用户登录。

下面直接上代码:

import requests


def login():
    session = requests.session()
    session.headers = {
        'User-Agent': '改为你的user-agent'
    }
    # 登录url
    url = 'https://passport2.chaoxing.com/fanyalogin'
    data = {
        'fid': '129838',
        'uname': '改为你的账号',
        'password': '改为你的密码',
        'refer': 'http%3A%2F%2Fysdxaqjy.aqjy.chaoxing.com',
            't': 'true'
    }
    session.post(url, data=data)
    # 验证url2
    url2 = 'http://i.mooc.chaoxing.com/settings/info?t=1637052365105'
    response = session.get(url2)
    with open('xxt.html', 'wb')as f:
        f.write(response.content)


if __name__ == '__main__':
    login()

结果:

通过结果可以看到,登录成功了。以上就是session:状态保持的实战应用。 

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值