打开学校教务处官网,发现官网的地址其实是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
__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')进行转码的时候遇见了如下情况