鱼C论坛

 找回密码
 立即注册
查看: 1657|回复: 18

[作品展示] 【爬虫】登录学校管理系统并查询成绩的小工具

[复制链接]
发表于 2018-8-17 01:15:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 jthylkl 于 2018-8-17 21:23 编辑

不知道这玩意能不能算爬虫,不过既然是从网上获取数据就算作爬虫吧。写这个程序的原因是学校管理系统里的链接太多,功能冗杂,查个成绩要点好几次鼠标,不能忍。这时候就需要一个界面简洁,一键查询的小工具。
       
由于前几天刚刚做了一个小作品,所以这次我也是信心满满
       
第一步:登录系统
登录需要学号、密码、验证码,其中验证码需要先获取验证图片。在浏览器开发者工具中可以找到图片的url,可以用GET方法获得
QQ截图20180817000423.png QQ截图20180817000804.png
再将网速模拟成slow3G,在点击登录的同时捕获到发送的数据,得到postURL,以及数据结构
QQ截图20180817004203.png QQ截图20180817004219.png

第二步:获取成绩
捕获查成绩时得到的数据,找到用json封装的成绩列表,得到对应url,使用GET方法即可获得
QQ截图20180817002158.png QQ截图20180817002733.png

接下来就是编写程序按上述步骤获取成绩
我们知道网站往往会使用cookies来判断浏览器是否已经登录过,而在Requests模块中,在同一个Session实例发出的所有请求之间cookies能够保持,所以需要使用Session对象来进行GET或POST操作
既然学了Tkinter,GUI当然是少不了的啦(为程序注入灵魂)  写GUI程序的过程中遇到了一个小问题,在刷新函数中单纯的更新label的image参数不能使图像刷新,反而图像会消失,需要在之后添加一行引用,这里参考了网上的方法

演示一下成果:
Animation4.gif

做的匆忙,有些细节没有做,比如提示密码,验证码错误的对话框,显示学分,计算平均分等
直接上代码吧,毕竟这玩意只能我们学校用,其他学校的话思路应该都差不多吧

代码:
游客,如果您要查看本帖隐藏内容请回复

       
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-8-17 06:51:03 | 显示全部楼层
非常好,想学习学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-17 07:47:24 | 显示全部楼层
研究生
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-29 23:23:01 | 显示全部楼层
学习下gui
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-1 21:23:08 | 显示全部楼层
学习下模拟登陆
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-1 23:35:28 | 显示全部楼层
111111
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-2 13:44:55 | 显示全部楼层
借鉴了一下,就是有个地方如果验证码是jpg格式的不能这么写,网上有个方法
from PIL import Image,ImageTk
im = Image.open('xdvfb.jpg')
img = ImageTk.PhotoImage(im)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-2 13:57:18 | 显示全部楼层
好好学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-3 20:08:33 | 显示全部楼层
谢谢楼主,学习一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-5 17:52:58 | 显示全部楼层
666 鱼粉还是有很多厉害的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-5 21:44:13 | 显示全部楼层
222
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-9-5 21:53:13 | 显示全部楼层
学习研究
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-6 20:46:31 | 显示全部楼层
工大。。emmmm学长(学姐)好
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-7 19:47:48 | 显示全部楼层
666666666
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-7 21:50:15 | 显示全部楼层
jsnthalwd 发表于 2018-8-17 06:51
非常好,想学习学习

学习学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-8 10:45:28 | 显示全部楼层
学习学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-8 13:13:24 | 显示全部楼层
非常棒,加油
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-8 13:22:51 From FishC Mobile | 显示全部楼层
牛逼牛逼,厉害厉害,,,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-23 11:33:07 | 显示全部楼层
学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-28 21:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表