写了一个方正教务系统的爬虫,踩了一些坑。

2018-03-11 23:41:02 +08:00
 zyqf

一些信息没有打码,请不要喷我。

教务系统网站: http://211.83.241.81/jwglxt/xtgl/login_slogin.html

感谢 https://www.v2ex.com/t/433971#reply11 几位经验丰富前辈的指点,才让我少走了些弯路。

有一些坑,主要是 Cookie 会话保持,以及密钥与时间参数的关系等等。

代码写的较丑,就不敢开源了。。。。

11214 次点击
所在节点    Python
65 条回复
mcdona1d
2018-03-12 08:15:08 +08:00
我拿着个做的毕设,其中一个功能就是能从微信上查课表,查成绩,哈哈,我们系统只能校园网访问
zyqf
2018-03-12 08:17:06 +08:00
@kingcos 新版教务系统是 XHR 请求数据的,返回来的结果都是 JSON 数据,没图片呀。。。
xyxc0673
2018-03-12 08:28:26 +08:00
表示也做了这个新版教务系统的爬虫,登录部分的加密用 python 实现了。不过正方无论旧版新版,人多都会挂掉。
steveway
2018-03-12 08:31:56 +08:00
@zyqf #18 哦哦 可能是需求不同 我希望将 cookie 储存下来多次使用 目前使用的方法是 pickle 将 cookie 对象直接存储下来
linpf
2018-03-12 08:40:01 +08:00
想想我在大学的时候用易语言去爬正方……
fiht
2018-03-12 08:49:40 +08:00
@chinvo 学校不缺机器,缺能把机器利用起来的代码...性能差一点不要紧,我们用设备来补
kingcos
2018-03-12 09:01:41 +08:00
@zyqfu emmm …青果的事返回的是绘制的图…而且加了躁点…
xuanyuanaosheng
2018-03-12 09:08:25 +08:00
方正下一个煎蛋
Allianzcortex
2018-03-12 09:13:08 +08:00
也写过类似的,不过我校教务系统选课是直接在 js 里把课表写进去的,根本没有 json 这种东西...

并且它的登陆逻辑是有问题的,填完一次验证码后就能多次尝试登陆,按照大多数人的习惯,如果还是六位数密码,那么最多跑 10**6 次就肯定能破出密码来
mikii
2018-03-12 09:21:27 +08:00
@kingcos 正方是直接输出文字不是绘制图片
Allianzcortex
2018-03-12 09:21:39 +08:00
突然感觉年轻真好啊...自己都苍老了好多了
kingcos
2018-03-12 09:29:59 +08:00
@mikii 那就非常简单了……
xyxc0673
2018-03-12 09:42:53 +08:00
@kingcos 新版的直接是 json 数据了,一下子减少了很多代码量
kingcos
2018-03-12 09:46:18 +08:00
@xyxc0673 是啊,哪跟傻 13 青果…竟然是绘图…还故意加躁点干扰……自己出的 App 也用不成…真的渣
echoZero
2018-03-12 09:48:46 +08:00
emmmm 我毕业设计里面有部分,学生课表的获取就模拟登录方正教务系统,我当时用过的解析 html 的的方式
CEBBCAT
2018-03-12 09:51:18 +08:00
相当 Nice 了,俺们学校用的也是这一版本的, 感谢则个 (好像" 则个 "用的不标准)
CEBBCAT
2018-03-12 09:56:10 +08:00
很期待楼主的开源
vtwoextb
2018-03-12 10:05:56 +08:00
如果遇到封 ip 可以使用代理 或者重启路由器 https://github.com/hizdm/dynamic_ip
zyqf
2018-03-12 10:22:55 +08:00
@CEBBCAT 不仅仅是开源,还会写文章遇到的问题以及如何解决的,对一些代码进行说明。
zyqf
2018-03-12 10:34:19 +08:00
@steveway requests 库中也有相关方法保存与载入 Cookies 的,不需要把整个对象持久化。您可以查阅下官方文档。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/437081

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX