python 爬虫登陆学校教务系统

好像很多人写爬虫,都是从登陆学校教务系统开始的。为什么?学校教务系统渣啊,都是明文传输的,而且是200x年写的,没有用到很多现在的技术,所以相对来说容易些。感觉很多学校都是用的清元优软的这个,我们学校还有验证码,稍微高级了一点。

python 爬虫登陆学校教务系统_第1张图片

整体思路: 1 对用firefox+httpfox进行抓包,发现验证码是在这里的,

http://172.18.1.77:9002/validateCodeAction.do?random=0.7513717659345102
是用的GET方法。于是可以请求不同的随机数,获得验证码图片,并保存下来。同时发现,请求验证码时,服务器会下发Cookie,这是一个典型的Session,


我把它记录下来,当post提交表单时,在header上加上。

2 用google的开源库tesseract-ocr对验证码进行识别,为了提高识别的准确性,我是将彩色图片进行二值滤波,得到黑白图片,在用subprocess调用系统命令识别。

3 用python的requests库进行提交表单,这里发现post data里面是有hidden data的,也要一并提交,不然会认为是错误。

4 找到成绩的连接,GET成绩,然后用beautifulsoup进行html解析。

这期间是遇到了N个坑,真的是做项目的时候对人提高特别大,会了解很多新的东西。


你可能感兴趣的:(python学习)