NanoApe's Blog

既是咸鱼又是辣鸡

文化课 Rating 统计器

NanoApe posted @ 2016年10月12日 22:05 in 蒟蒻只会玩泥巴QwQ , 1219 阅读

某天突发奇想,为啥不来把全级历来的考试成绩给扒下来然后算个 Rating?

也许会有红名级别的人物出现呢

学校查询成绩的网页有个漏洞,不需要输入密码就可以查看他人某次考试的成绩

而且这查询页面也十分简单,所以用个脚本实现“扒成绩”应该不难

然后 Rating 计算公式的话 CodeForecs 和 TopCoder 都有公布,所以也不需要动脑

 

感觉遇到不会的只要问下百度就能解决了……

 

一开始先学了 Python

表示编程竞赛玩多了压根不会几种语言……

花了一天大概学了个皮毛,感觉最方便的就是支持一堆库,最坑的就是不同编码类型的字符串的处理

找了个叫 Splinter 的库用来访问网页,十分懒人,Chrome 需要多弄个驱动,Windows 安装直接 "setup.py install" 就可以了

其他有什么不会的直接找这个库的说明文档就行了

本来想保存每个人每次考试的成绩查询页面,再来进行第二部处理的。但是那个页面……

文件大小乘上全级人数再乘上考试次数基本不可接受

于是就把第二步的 html 源码处理在 python 给弄好了

“扒成绩”就只是时间的问题了

 

接着就开始弄 Rating 的计算,发现 CodeForces 的公式完全看不懂……

后来在 xllend3 的帮助下还是搞清楚了 TopCoder 的公式(官方说明),算的程序是用 C++ 写的

 

好的接下来是最后一步,数据可视化

要是让全部人能用的话,搞个网页然后自己建个数据库?!……这坑有点大

最后用了万能的 Excel 解决了

愉快……


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter