一些信息没有打码,请不要喷我。
教务系统网站: http://211.83.241.81/jwglxt/xtgl/login_slogin.html

感谢 https://www.v2ex.com/t/433971#reply11 几位经验丰富前辈的指点,才让我少走了些弯路。
有一些坑,主要是 Cookie 会话保持,以及密钥与时间参数的关系等等。
代码写的较丑,就不敢开源了。。。。
|  |      1watzds      2018-03-11 23:45:31 +08:00 via Android 表格不错 | 
|  |      2zyqf OP  1 @watzds 表格是用的 Texttable,IDE 中输出会导致表格错乱。后来调试半天,才去看了源代码,发现应该是全角和半角中文宽度计算的问题。 | 
|      3scnace      2018-03-12 00:10:34 +08:00 via Android  1 | 
|  |      4zyqf OP @scnace 我们教务处正在从您这篇文章的版本迁移到新的版本,据说是 Java 写的。还有 2017 年,今年 2018,年轻的时候???? 黑人问号.jpg | 
|  |      6epkT6QJ3RSaz6AnJ      2018-03-12 00:19:57 +08:00 我记得正方教务有个提权漏洞,之后上传 ashx 后就有了 webshell,可以脱裤 | 
|  |      7epkT6QJ3RSaz6AnJ      2018-03-12 00:20:28 +08:00 表名都是拼音吓尿 | 
|  |      8XIVN1987      2018-03-12 00:53:30 +08:00 界面挺漂亮,,赞 | 
|  |      9chinvo      2018-03-12 01:06:47 +08:00 @zyqf #4 朋友之前在正方做项目实施经理,旧版的写的真是稀烂,在浪潮的云平台上,开 32 虚拟核机器,选课时有个后台进程会频繁挂起,最后解决方案是开 64 虚拟核的机器 (虽然很大原因是浪潮云平台之前不能绑定虚拟核到物理核 | 
|  |      10kingcos      2018-03-12 01:12:20 +08:00 via iPhone ……问一下,正方的课表难道不是跟青果一样,绘制的图片吗…… 青果的还故意加了躁点防 OCR … | 
|      11azh7138m      2018-03-12 01:13:47 +08:00 via Android @zyqf 刚迁到新版 Java 的话,那你要抓住机会,看下图片请求如果是学号做参数的话,是没有做校验的,建议爬取学校妹子多的院 | 
|      12azh7138m      2018-03-12 01:17:12 +08:00 via Android 顺便说下,如果学校的图书是老汇文的话,是可以直接 getshell,里面会有性别和学号,配合一下就能:D | 
|  |      13oswuhan      2018-03-12 02:46:48 +08:00 半个校友……这个正方系统看起来好高端…… | 
|  |      14tsui      2018-03-12 04:05:58 +08:00 主贴就一个 terminal 截屏啊。。你们都看到的什么界面 table 的。。 | 
|  |      15steveway      2018-03-12 07:15:15 +08:00 via Android 我也做过相关的  不过我更偏向于抢课 post 的发送 项目中的 cookies 是怎么保存的? | 
|  |      20jydeng      2018-03-12 08:10:04 +08:00 @epkT6QJ3RSaz6AnJ 似乎是 12 年时候的事情 | 
|  |      21mcdona1d      2018-03-12 08:15:08 +08:00 via iPhone 我拿着个做的毕设,其中一个功能就是能从微信上查课表,查成绩,哈哈,我们系统只能校园网访问 | 
|  |      22zyqf OP @kingcos 新版教务系统是 XHR 请求数据的,返回来的结果都是 JSON 数据,没图片呀。。。 | 
|  |      23xyxc0673      2018-03-12 08:28:26 +08:00 via iPhone 表示也做了这个新版教务系统的爬虫,登录部分的加密用 python 实现了。不过正方无论旧版新版,人多都会挂掉。 | 
|  |      24steveway      2018-03-12 08:31:56 +08:00 @zyqf #18 哦哦 可能是需求不同 我希望将 cookie 储存下来多次使用 目前使用的方法是 pickle 将 cookie 对象直接存储下来 | 
|  |      25linpf      2018-03-12 08:40:01 +08:00 想想我在大学的时候用易语言去爬正方…… | 
|  |      28xuanyuanaosheng      2018-03-12 09:08:25 +08:00 via Android 方正下一个煎蛋 | 
|  |      29Allianzcortex      2018-03-12 09:13:08 +08:00 也写过类似的,不过我校教务系统选课是直接在 js 里把课表写进去的,根本没有 json 这种东西...   并且它的登陆逻辑是有问题的,填完一次验证码后就能多次尝试登陆,按照大多数人的习惯,如果还是六位数密码,那么最多跑 10**6 次就肯定能破出密码来   | 
|  |      31Allianzcortex      2018-03-12 09:21:39 +08:00 突然感觉年轻真好啊...自己都苍老了好多了 | 
|  |      34kingcos      2018-03-12 09:46:18 +08:00 via iPhone @xyxc0673 是啊,哪跟傻 13 青果…竟然是绘图…还故意加躁点干扰……自己出的 App 也用不成…真的渣 | 
|  |      35echoZero      2018-03-12 09:48:46 +08:00 via iPhone emmmm 我毕业设计里面有部分,学生课表的获取就模拟登录方正教务系统,我当时用过的解析 html 的的方式 | 
|  |      36CEBBCAT      2018-03-12 09:51:18 +08:00 相当 Nice 了,俺们学校用的也是这一版本的, 感谢则个 (好像" 则个 "用的不标准) | 
|  |      37CEBBCAT      2018-03-12 09:56:10 +08:00 很期待楼主的开源 | 
|  |      38vtwoextb      2018-03-12 10:05:56 +08:00 如果遇到封 ip 可以使用代理  或者重启路由器 https://github.com/hizdm/dynamic_ip | 
|  |      40zyqf OP @steveway  requests 库中也有相关方法保存与载入 Cookies 的,不需要把整个对象持久化。您可以查阅下官方文档。 | 
|  |      41wangjie      2018-03-12 10:43:20 +08:00 via Android 最坑的应该是抢课吧,写过验证码识别和抢课的 | 
|  |      42dangyuluo      2018-03-12 11:02:03 +08:00 这个系统的 Windows 客户端登陆验证是把密码发到本地验证,而不是在服务器上,你敢信? | 
|  |      43jdkl      2018-03-12 11:15:31 +08:00 同希望楼主开源,与楼主同教务系统,因对 JS 不懂所以不了解密码的加密方式一直模拟登录不了,只能依靠 cookies. | 
|  |      45octobersnow      2018-03-12 12:53:29 +08:00 via iPhone 我们学校教育系统不能直接登录,需要通过信息门户进入教务系统 | 
|  |      46iyaozhen      2018-03-12 13:05:48 +08:00 哎,教务系统每一年都要被新人艹一遍。那是逝去的青春呀 | 
|      47axu0411      2018-03-12 13:23:15 +08:00 via Android | 
|  |      48Osk      2018-03-12 13:25:45 +08:00 via Android 我们学校教务系统在公网 ip 上,明文传输密码,2333 | 
|  |      49whoami9894      2018-03-12 13:28:46 +08:00 同教务系统,楼主能发下处理 rsa 加密那段代码吗 | 
|  |      51Sanko      2018-03-12 14:13:09 +08:00 via Android 我们有验证码 | 
|      52Wysten      2018-03-12 14:14:21 +08:00 想起了我们学校正方教务系统里满满的后门。。基本都是上传 ashx 拿到的 webshell | 
|  |      54zyqf OP @whoami9894 晚上就整理发出来 | 
|  |      55mamian      2018-03-12 16:13:17 +08:00 每年都有几个搞学校爬虫的 | 
|  |      56ChangHaoWei      2018-03-12 16:56:55 +08:00 把这个弄到 ios 上的日历上去吧。。这个算有点用了 | 
|  |      57wysnylc      2018-03-12 17:35:59 +08:00 xxl-crawle 面向对象爬虫框架 | 
|  |      58kokutou      2018-03-12 17:52:56 +08:00 via Android 当年是青果。。。 早期是 html,后来换图片了,但是更简单了。。。 | 
|      59labulaka      2018-03-12 20:45:55 +08:00 我们学校有验证码  哈哈哈哈哈哈 | 
|  |      61welkinzh      2018-03-12 22:23:04 +08:00 以前写过爬正方教务系统成绩的,后来发现登录进去首页右下角就有成绩了 23333 | 
|  |      63whoami9894      2018-03-13 19:41:14 +08:00 via Android 老哥代码整理好了吗 | 
|  |      64zyqf OP @whoami9894   看最新 APPEND 的内容呀 | 
|  |      65whoami9894      2018-03-13 21:57:52 +08:00 via Android @zyqf 哦哦看到了谢谢老哥 |