python 爬虫之模拟登陆实战(一)微人大

python爬虫实战篇,模拟登陆微人大,才能查看成绩什么的。

2015.5.3更新:

  • 更新使用requests的代码

战前准备

打开fiddler2,然后用chrome打开微人大首页,v.ruc.edu.cn

尝试进行正确的登陆,发现发送包如下:

登陆发送的数据

发现它用post方法发送至https://uc.tiup.cn/account/login,且发送了如下五个字段,

  • csrf_token  : 这是一个随机值
  • school_code : 学校代码
  • username  : 用户名
  • password  : 密码
  • remember_me : 是否记住登陆状态(显然就是登陆旁边的那个保持登录状态)

那么,我们首先要获取的是csrf_token  这个玩意,我们往前看,发现刚进页面还没登录时,response有如下字段:

set-cookie,设置了一个名为csrf_token  的cookie,并且该cookie是仅在建立连接的时候发送(httponly)

csrf_token是如何建立的

那么我们可以想象登陆过程如下:

  • 打开登陆页面被设置了一个名为csrf_token 的cookie
  • 输入用户名密码登陆,发送五个字段,包括csrf_token
  • 验证通过后进行重定向

 

最终code

只是登陆的演练,所以没有从里面抠出成绩。只是打印出成绩的整个页面的HTML

而且服务器太弱,竟然连头部验证什么的都没有。

 

使用urllib的老版本

 

本博客若无特殊说明则由 hrwhisper 原创发布
转载请点名出处:细语呢喃 > python 爬虫之模拟登陆实战(一)微人大
本文地址:https://www.hrwhisper.me/python-web-crawler-login-vruc/

您的支持将鼓励我继续创作!

python learning, 学习 , . permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *