适合学校的抢球场,抢图书馆位置等公共资源软件设计思路(以中国石油大学(华东)为例)

简介: 适合学校的抢球场,抢图书馆位置等公共资源软件设计思路(以中国石油大学(华东)为例)

前提背景:


       在学校中存在很多公共资源需要抢,比如自习室的线上抢,图书馆的线上抢,体育场的线上抢,但是很多时候刚开放就没有了,为了深入探索这一现象,开始针对学校内此问题进行研究,并结合自己学校实例实现羽毛球馆的抢场地软件。


中国石油大学(华东)羽毛球抢场地系统


       打开中国石油大学体育馆,点击场地预定。

       选择好馆,然后选择时间进行预定

  如图所示,上面有很多绿色的格子,每个格子上面都有数字,对应的是在当前时间段是否可抢,如果是没颜色的格子,就不能抢。

       点击提交订单就可以抢到自己能打的场子。


以上就是学校抢羽毛球场地的全部流程,但是如果一切都能这么顺利就好了,学校是每天早上八点左右能开始抢当天的和第二天的场地,但是一般来说,由于学校的羽毛球爱好者众多,所以场地哪怕每个时间段有13个(主馆6个副官7个)也不经常能抢到场地,甚至还需要经常的从场地贩子哪里买,所以结合专业知识去研究出了羽毛球抢场地系统。


中国石油大学(华东)羽毛球抢场地系统分析


       细心的小伙伴可能会发现,我的以上操作实际上最重要的一步就是提交订单的部分,所以最直接的就是,分析点击“提交订单”后像服务器发送的请求。


       将对应的页面在浏览器中打开,如下

       打开开发者模式,当点击付款的时候,便会捕获到页面向后台发送的信息。

       可以看到,当我们发送点击之后,就会增加一个新的网络请求捕捉(在这里需要真实的充值缴费才可以)

       在这里可以看到该请求的所有信息。

  上图是需要向后台发送的数据。


       通过这样的分析,实际上已经将羽毛球场地系统分析出来了。通过我们的点击,携带所需要的场地,发送给后台进行抢场地,如果顺序的话,那么场地会被抢到。然后绑定的微信端就会发送信息。

以上便完成了中国石油大学(华东)羽毛球抢场地系统分析。


中国石油大学(华东)羽毛球抢场地系统理论实现


       通过前面的分析,实际上最关键的就是向后台发送一个请求,携带着选择的信息。


       那么通过实践,有两种比较简单的实现方法。


  • 通过浏览器模拟鼠标的行为,用自动化技术seleium爬虫 代替 人来进行点击(慢)
  • 使用post提交,直接向后台发送请求,模拟浏览器从而绕过浏览器(快)


自动化seleium


 Seleium测试直接运行在浏览器中,就像真正的用户在操作一样。通过浏览器打开预定场地页面然后执行,设定定时器将一切自动化,极大的节省了人员时间。但是缺点是,由于羽毛球抢场地系统到了8点加载有点慢,以及网络的问题,实际上加载出来的时候场地就已经没了,所以该方法比较慢,成功率很低。但是可以进行修改变成爬虫系统。经过实验测试,修改后的爬虫可以爬取到想要的信息。


post提交


       将获取到的请求头和响应头进行分析,并捕获到发送的数据,这样就可以通过程序后台post直接向羽毛球的服务器发送抢场地信息,节省了浏览器加载资源的时间,非常快,成功率非常高。


中国石油大学(华东)羽毛球抢场地系统代码开源


https://gitee.com/ni-hongsheng/badminton 以上为结合以上分析步骤并稍加改进的代码实现


思路扩展


       通过显示案例可以明白在学校内部的抢公共资源是大概怎么样的流程,中国石油大学(华东)的羽毛球抢场地系统是在微信中,所以最重要的是获取到一个wxkey,但是这个通过测试都能获取到,所以就能还原到后端之间发送请求的逻辑实现。


那么将此场景应用到抢图书馆位置,抢课其实大体流程也是一样的,一些比较好的课和位置其实大多数人是抢不到的,在设计软件的时候可以先测试容易抢的,将发送的信息解析出来,然后应用到不好抢的地方。

目录
相关文章
|
3月前
|
存储 人工智能 定位技术
千帆杯第一期赛题:游乐场排队规划助手(香港迪士尼python解法)
千帆杯第一期赛题:游乐场排队规划助手(香港迪士尼python解法)
66 0
|
3月前
|
小程序 开发者
【活动回顾】开发者日深圳站|解锁高效开发新体验
【活动回顾】开发者日深圳站|解锁高效开发新体验
22 0
|
10月前
|
数据库
传奇开服技术基础十条处理办法110.42.2
传奇开服技术基础十条处理办法110.42.2
|
SQL 机器学习/深度学习 前端开发
10个宝藏级编程资源,让你省下8K学费不香吗
10个宝藏级编程资源,让你省下8K学费不香吗
118 0
|
Java
编写Java程序,车站只剩 50 张从武汉到北京的车票,现有 3 个窗口售卖,用程序模拟售票的过程
编写Java程序,车站只剩 50 张从武汉到北京的车票,现有 3 个窗口售卖,用程序模拟售票的过程
210 0
编写Java程序,车站只剩 50 张从武汉到北京的车票,现有 3 个窗口售卖,用程序模拟售票的过程
|
Cloud Native Dubbo Java
寒假充电季,防疫不停学!参与Alibaba Java技术图谱21天打卡活动,赢多重好礼!
参与21天打卡,赢总价值超3000元的活动好礼!这个寒假,我们帮你用小节点拆分难啃的大图谱,让持续学习的习惯养成变得不再复杂!
3720 0
寒假充电季,防疫不停学!参与Alibaba Java技术图谱21天打卡活动,赢多重好礼!
|
小程序 安全
开通只需三步 阿里云数字社区防疫系统已服务数百小区
阿里云推出适用于全国小区物业的数字社区防疫小程序后,上线仅2天,全国已经有近500个小区开通,高效保障社区居民的健康安全,实现居民出入扫码登记/核销、健康打卡、疫情资讯和小区公告等功能,建立了以小区为单位的防疫服务阵地。
1930 0
开通只需三步 阿里云数字社区防疫系统已服务数百小区
|
云栖大会 开发者 人工智能
七天后,上万大咖都要涌进杭州这个地方!
文末有福利,免费送云栖大会门票!
1123 0
|
安全 网络安全 数据库
速看|万豪数据泄漏门再敲警钟 酒店集团7步安全建议
​​11月30日,万豪酒店官方发布消息称,多达5亿人次预订喜达屋酒店客人的详细个人信息可能遭到泄露。万豪国际在调查过程中了解到,自2014年起即存在第三方对喜达屋网络未经授权的访问,但公司直到2018年9月才第一次收到警报。
2056 0
|
运维 安全 大数据
看苏州大搬家了!后台数据正式搬到阿里云
9月6日晚间22:00-24:00,鼎峯云协助客户成功地完成了1800万张图片、近3亿条用户数据、70台服务器资源、20万条文稿、以及1.3万小时视频的“搬家”。此后一周,又进入了对近千个功能点、近百个板块的跟踪测试与修复阶段。
2043 0