提供北京工商大学(btbu)成绩、课表查询的web应用。 教务管理系统爬虫。Flask框架.网址
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
cls close feature, Open to use Jul 19, 2018
.gitattributes 修改语言分类 Jul 15, 2016
.gitignore Fix close_wait Mar 8, 2017
README.md Update README.md Jul 19, 2018
config.ini update Aug 3, 2016
fabfile.py.default 模块组织代码 Sep 22, 2016
requirements.txt finish Nov 14, 2016
run.py 添加未知报错捕获 Nov 11, 2016

README.md

##微信公众平台ebtbu内接的查成绩、查课表。

使用:

  1. pip install -r requirements.txt
  2. python3 run.py done.

爬虫做的事

  1. 登录vpn,获得session,外网访问内网,需登录[北京工商大学vpn][1] VPN

  2. 登录教务处,验证码识别,由于是固定字符(10个左右),准确度可达100% jwc

  3. 构造请求,拿到结果,成绩、课表页面处理 result

  4. Flask [Web][2] 提供用户入口,随登录随爬取,不储存任何信息。

  5. 推荐一下fabric 在我项目里,可以一键更新代码,重启服务器,一键在服务器创建独立的测试页面。

难点

  1. 服务器是在外网,如何穿透内网。
  2. 学校网站万年不升级,只能用ie访问,所有手机都不能登录,错综复杂的跳转,重定向,比如登录之后,必须去访问另一个页面才算登陆成功、查成绩之前必须先去首页后的一串神奇的请求码。
  3. vpn 登录错误次数多了会封我们的ip,现在是做了两台机器,Nginx分发,暑假访问量大的时候临时从网上爬了一批ip代理,手动加了几个ip算是扛过去了(出成绩那天,在线人数300+,感觉真的是技术有用!!!)

未来

  1. 前端补补课,做个好看的课表和成绩展示页面。 -- 完成,BootStrap神器加身。
  2. 拓展一下ip代理,不要写死,搞个池子,随时能添加,想着是放redis里面。

感谢

有人start这个项目,好兴奋啊,花了很多时间在这上面,这绝对是对我的肯定。欢迎诸位和我多多交流。

离校,已经不维护了.

tip: 2018/7/19日亲测可用