Skip to content

Latest commit

 

History

History
23 lines (13 loc) · 1.47 KB

README.md

File metadata and controls

23 lines (13 loc) · 1.47 KB

CourseRobber of BJTU

创新点说明

others

教务系统更新后,验证码成了抢课自动化的最大瓶颈.解决验证码的几种办法大致如下:

  • 利用网上的各个打码平台,面临的问题是虽然解决了自动化,但是回传速度慢
  • 使用pytesseract,面临的问题是成功率不高,验证码是及其恶心的汉字类型

my method

为了解决这个问题,我也在gayhub上阅读了本校其他人开源的抢课代码,大部分都是检测到有课之后,向系统发送抢课请求,再返回给用户验证码手动输入,实现了抢课的半自动化.

我也没什么好的办法完成全自动,不过可以优化半自动化脚本,大大提高抢课的速度和成功率

办法如下:

我们主要关注一下最后一个请求包,里面的参数主要是验证码和一下课程信息,我们可以知道并控制除了验证码之外的请求包内的其他参数,我们要抢的课一般是没有余量的,但是我们仍然可以向系统去申请一个验证码,我们先手动输入验证码,构造完成抢课数据包,再使用这个会话去不断查询课程余量,当课程有余量的时候,通过一个判断去发送我们构造好的数据包,这样我们就比其他脚本节省出了处理验证码的时间.

更新: 不打算放出来了(怕被教务处水表),原理在这里也好写,更新一个json文件,爬取了所有课程的checkbox参数,你懂:)