python 爬虫登陆学校教务系统

本文介绍了一个从学校教务系统抓取成绩的具体实践案例,包括使用Firefox+HttpFox抓包、验证码获取与识别、利用Python的requests库提交表单、通过BeautifulSoup解析HTML等关键技术步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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


整体思路: 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个坑,真的是做项目的时候对人提高特别大,会了解很多新的东西。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值