爬虫实践---正方教务系统爬取历年成绩

本文记录了一次爬取正方教务系统中历年成绩的实践过程,包括登录验证、验证码处理、数据提交等难点。通过分析网页结构,解决了GB2312编码问题,成功实现登录并获取成绩。同时也讨论了如何处理请求头中的Referer和Cookie,以及在遇到网页验证时的应对策略。
摘要由CSDN通过智能技术生成

打开学校教务处官网,发现官网的地址其实是http://222.24.19.201/default2.aspx

这次的爬虫既有账号密码登录,也有验证码和登录角色选择,有点难度了,搞了两天才搞定,看来还是才疏学浅了,通过这个博客将知识点已经坑点等方面进行总结,也是一个学习的过程。

大体思路:

一.确认教务处官网

1.随便登录用户密码,确认From Data

2.确定验证码链接

二.初步访问

4.构造自己的data,确认访问形式是post

5.打开网页,获取Cookie,获取验证码图片,完善data并用它post访问教务处官网

6.获取登陆后自己姓名,确认是否登录成功

三.成绩查询

7.确认成绩查询页面,完善Headers

8.初步访问获取网页验证,得到referer

9.构造data,并且使用它爬取历年成绩

四.瞅瞅全是60分飘过,心好累


第一步,打开F12中的下面界面。



通过登录一个错误账号,我们可以发现,

Request URL:http://222.24.19.201/default2.aspx
Request Method:POST


在最下面的 From Data一栏里面,点击 view URl encoded / view decoded

__VIEWSTATE:dDwtNTE2MjI4MTQ7Oz40VgXJB8DXjui8rTCUMZ5zS6eY7w==  
 #教务处网站的识别,其gb2312格式=dDwtNTE2MjI4MTQ7Oz40VgXJB8DXjui8rTCUMZ5zS6eY7w%3D%3D

txtUserName:04151106   #登录的学号
Textbox1:
TextBox2:123456   #密码
txtSecretCode:aj3v   #验证码
RadioButtonList1:(unable to decode value)    
# 选择学生身份登录 = %D1%A7%C9%FA
#这个是网站的GB2312编码格式,我们通过点击URl encoded可以看到编码,后面我们将一直采用这种格式来看
Button1:
lbLanguage:
hidPdrs:
hidsc:


之前利用encode('gb2312')进行转码的时候遇见了如下情况

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值