Skip to content

caffeebox/gym_seckill

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Book Gym in NJNU

仅用于学习交流,非商业用途

主要功能

  • 查询场馆空闲信息。

    微信预约系统需要点击仙林室内、选中羽毛球、点击场地编号,三次页面跳转才能显示该场地的预约信息。反人类的地方在于:返回直接到主页面,查看下个场地信息又需要三次页面跳转!!!

    我们以日期为出发点,一键显示当前日期所有选中场地的空余时间。

  • 抢购预约场馆

    自从预约系统上线以来,作者就没有抢到过羽毛球场地。早上七点钟开放预约,七点零一分就全没了。

    因此编写抢购脚本,方便在睡觉的同时能够预定到场地运动。

使用教程

基于Python,使用requests库模拟浏览器发送请求,使用BeautifulSoup库解析html文档,使用seaborn可视化数据。

  1. 手机在微信中打开预约页面,通过连接电脑用Fiddler抓包,提取user-agent和cookie用于模拟登录。参考文章 在PC桌面浏览器上调试微信网页
  2. 修改config.py文件内容,包括:
    • user_agent: 指定浏览器类型,打开微信网页需要MicroMessenger字段
    • cookie: 用于记录登录信息,注意校内登录以后再抓包,会出现casuid和casuser字段
    • mode: 查询模式query,抢购模式order
    • date: 查询或预定的日期
    • category: 选择场馆类型
    • query_l: 需要查询/预定的场地编号,所有场地default,自定义custom
    • custom_l: 需要查询/预定的场地编号,当query_l=custom时生效,按照编号顺序依次查询/预定
    • time_s: 预定时间
    • price: 总价格,需要自己计算
    • uid, name, ph 分别为 学号,姓名,预留电话
  3. 运行主程序,python main.py

其他

体育馆预约系统反人类而且辣鸡,羽毛球场地按规则只开放一天的预定,即今天早晨七点钟开始抢明天的场地。预约系统实现该功能,仅仅通过修改前端数据,将后面日期都隐藏,对于新的预约订单,在后台服务端并没有任何逻辑判断。而requests库模拟发送表单数据,并不需要前端页面,所以本项目并没有增加计时器到点抢购的功能,直接预约后天场地就完事了。

About

book gym in njnu

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages