正所谓趁热打铁,在做完了糗事百科的爬虫之后,自然想看看能不能登录自己学校的教务系统一探究竟。
#广工正方教务系统登陆插件(无需输入验证码)
其实这个正方教务系统的做工真的不怎么样,很多的网页直接就是用中文拼音做出来的,而且光登录页面就有4,5个。
广工的登录页面是:
http://jwgldx.gdut.edu.cn/default2.aspx <√>
http://jwgldx.gdut.edu.cn/default5.aspx <√>
http://jwgldx.gdut.edu.cn/default6.aspx <√>
http://jwgldx.gdut.edu.cn/default3.aspx <X>
http://jwgldx.gdut.edu.cn/default_jlxy.aspx <X>
http://jwgldx.gdut.edu.cn/default_lysf.aspx <X>
http://jwgldx.gdut.edu.cn/Default_nzy.aspx <X>
http://jwgldx.gdut.edu.cn/default_ysdx.aspx <X>
有一些能够通过验证登陆(√),有一些应该就采用了不同的登陆数据库(X).
而这个无需输入验证码,其实就是用了教务系统的一个小trick,就是default6.aspx
的登陆,是不需要验证验证码,所以只要采集数据,然后用python模拟登陆就可以了。
源码
放在了Github,可以去观光哈:>Click<
注意:cookiejar()的数据是不能够直接运用在header的~,作为一个python新手,鼓捣了一个晚上才发现这个问题。-_-#
#广工正方教务系统登陆插件(手动输入验证码)
这个手动输入验者码,基本思路就是登陆default2.aspx
后,采集该cookies下的验证码,然后下载到本地,然后使用者通过在本地看到验证码后,手动输入到程序里,完成登陆验证。
具体也不多说,可以看看源码。
源码
:>Click<
#后记
其实自己的源码写的非常垃圾,但是也post上来,作为一个成长印记,顺便给其他看到的大神做个抛砖引玉。
学一样东西其实非常有趣,因为还牵涉到其他的知识,能够顺带也学了,比如爬虫还顺带学习了正则怎么写。这样挺好的。
然后为什么登陆进去不顺便做个课表爬虫跟选课爬虫呢。。。。。因为实在是太懒了,觉得任务完成(数模那时定的任务)了,所以粗浅的学了之后,有机会再深究~