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

前提背景:

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

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

在这里插入图片描述
        打开中国石油大学体育馆,点击场地预定。
在这里插入图片描述
        选择好馆,然后选择时间进行预定
在这里插入图片描述
        如图所示,上面有很多绿色的格子,每个格子上面都有数字,对应的是在当前时间段是否可抢,如果是没颜色的格子,就不能抢。
在这里插入图片描述
        点击提交订单就可以抢到自己能打的场子。

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

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

        细心的小伙伴可能会发现,我的以上操作实际上最重要的一步就是提交订单的部分,所以最直接的就是,分析点击“提交订单”后像服务器发送的请求。
        将对应的页面在浏览器中打开,如下
在这里插入图片描述
在这里插入图片描述
        打开开发者模式,当点击付款的时候,便会捕获到页面向后台发送的信息。
在这里插入图片描述
        可以看到,当我们发送点击之后,就会增加一个新的网络请求捕捉(在这里需要真实的充值缴费才可以)
在这里插入图片描述
        在这里可以看到该请求的所有信息。
在这里插入图片描述
        上图是需要向后台发送的数据。

        通过这样的分析,实际上已经将羽毛球场地系统分析出来了。通过我们的点击,携带所需要的场地,发送给后台进行抢场地,如果顺序的话,那么场地会被抢到。然后绑定的微信端就会发送信息。
在这里插入图片描述
        以上便完成了中国石油大学(华东)羽毛球抢场地系统分析。

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

        通过前面的分析,实际上最关键的就是向后台发送一个请求,携带着选择的信息。
        那么通过实践,有两种比较简单的实现方法。

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

自动化seleium

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

post提交

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

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

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

思路扩展

        通过显示案例可以明白在学校内部的抢公共资源是大概怎么样的流程,中国石油大学(华东)的羽毛球抢场地系统是在微信中,所以最重要的是获取到一个wxkey,但是这个通过测试都能获取到,所以就能还原到后端之间发送请求的逻辑实现。
        那么将此场景应用到抢图书馆位置,抢课其实大体流程也是一样的,一些比较好的课和位置其实大多数人是抢不到的,在设计软件的时候可以先测试容易抢的,将发送的信息解析出来,然后应用到不好抢的地方。

  • 6
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
### 回答1: 以下是一个简单的李宁品牌在线商店首页HTML代码: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>李宁品牌在线商店</title> <style> /* 样式表 */ header { background-color: #333; color: #fff; padding: 20px; text-align: center; } nav { background-color: #ccc; overflow: hidden; } nav a { float: left; display: block; color: #333; text-align: center; padding: 14px 16px; text-decoration: none; } nav a:hover { background-color: #ddd; color: #333; } section { padding: 20px; margin-top: 20px; } section h2 { font-size: 28px; color: #333; margin-bottom: 20px; } section p { font-size: 18px; color: #666; line-height: 1.5; } section img { float: left; margin-right: 20px; margin-bottom: 20px; } </style> </head> <body> <header> <img src="https://www.li-ning.com/wp-content/uploads/2018/11/logo-126-1.png" alt="李宁品牌Logo"> <h1>李宁品牌在线商店</h1> </header> <nav> <a href="#">首页</a> <a href="#">男装</a> <a href="#">女装</a> <a href="#">鞋子</a> <a href="#">配件</a> </nav> <section> <h2>李宁品牌介绍</h2> <img src="https://www.li-ning.com/wp-content/uploads/2018/11/about-img.jpg" alt="李宁品牌介绍图片"> <p>李宁品牌创立于1990年,在中国体育界拥有极高的知名度和美誉度。品牌主打运动装备,包括服装、鞋子、配件等。李宁品牌秉承“让世界爱上中国制造”的宗旨,致力于将中国制造推向全球市场。</p> </section> <section> <h2>热门商品</h2> <div> <img src="https://www.li-ning.com/wp-content/uploads/2018/11/1-1.jpg" alt="热门商品1"> <h3>男子篮球鞋</h3> <p>这款男子篮球鞋采用了先进的科技,提供了舒适的穿着体验,让你在球场上更加自信。</p> </div> <div> <img src="https://www.li-ning.com/wp-content/uploads/2018/11/2-1.jpg" alt="热门商品2"> <h3>女子运动鞋</h3> <p>这款女子运动鞋采用时尚的设计和高品质的材料,让你在运动中更加自如。</p> </div> <div> <img src="https://www.li-ning.com/wp-content/uploads/2018/11/3-1.jpg" alt="热门商品3"> <h3>男子运动T恤</h3> <p>这款男子运动T恤采用透气的面料和舒适的剪裁,让你在运动中保持干爽舒适。</p> </div> </section> <footer> <p>版权所有 © 2021 李宁品牌在线商店</p> </footer> </body> </html> ``` 在这个简单的页面中,我们包含了一个页面头部,包括商店的Logo和标题,一个导航栏用于浏览商店的不同部分,两个部分用于介绍李宁品牌和展示热门商品,以及一个页脚。这个页面可以作为一个基础,可以根据具体需求进行修改和扩展。 ### 回答2: <!DOCTYPE html> <html> <head> <title>李宁在线商店</title> </head> <body> <header> <img src="logo.png" alt="李宁商店Logo"> <nav> <ul> <li><a href="#">首页</a></li> <li><a href="#">产品</a></li> <li><a href="#">关于我们</a></li> <li><a href="#">联系我们</a></li> </ul> </nav> </header> <main> <section> <h2>欢迎来到李宁在线商店</h2> <p>李宁品牌致力于提供高品质的运动装备和鞋类产品。在我们的在线商店,您可以找到各类运动鞋、运动服装、运动配件等。无论是篮球、跑步、乒乓球还是其他运动,我们都有适合您的产品。</p> </section> <section> <h2>推荐产品</h2> <div class="product"> <img src="product1.jpg" alt="产品1"> <h3>篮球鞋</h3> <p>高品质的篮球鞋,为您提供舒适的穿着感和出色的表现。</p> </div> <div class="product"> <img src="product2.jpg" alt="产品2"> <h3>跑步鞋</h3> <p>专为跑步者设计,具有出色的缓震和稳定性,使您的跑步体验更加舒适。</p> </div> <div class="product"> <img src="product3.jpg" alt="产品3"> <h3>乒乓球拍</h3> <p>轻便、易操作的乒乓球拍,助您成为乒乓球的王者。</p> </div> </section> </main> <footer> <p>© 2022 李宁运动有限公司. 保留所有权利.</p> </footer> </body> </html> ### 回答3: <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>李宁品牌在线商店</title> <style> /* 样式表 */ body { font-family: Arial, sans-serif; background-color: #f2f2f2; margin: 0; padding: 0; } header { background-color: #000; padding: 10px; color: #fff; text-align: center; font-size: 24px; font-weight: bold; } nav { background-color: #333; padding: 10px; color: #fff; text-align: center; } nav a { color: #fff; margin: 0 10px; text-decoration: none; font-size: 18px; } main { padding: 20px; } h1 { font-size: 24px; } p { margin-bottom: 10px; } .logo { display: block; margin: 0 auto; width: 200px; } .product-card { background-color: #fff; padding: 20px; margin-bottom: 20px; } .product-card img { width: 100%; height: 200px; object-fit: contain; } </style> </head> <body> <header> <img src="logo.png" alt="李宁品牌商店" class="logo"> </header> <nav> <a href="#">首页</a> <a href="#">男装</a> <a href="#">女装</a> <a href="#">运动鞋</a> <a href="#">配件</a> <a href="#">关于我们</a> </nav> <main> <h1>热门商品</h1> <div class="product-card"> <img src="product1.jpg" alt=""> <h2>男士运动鞋</h2> <p>价格:$99.99</p> <p>材质:合成革</p> <p>尺码:39-45</p> <button>加入购物车</button> </div> <div class="product-card"> <img src="product2.jpg" alt=""> <h2>女士跑步鞋</h2> <p>价格:$79.99</p> <p>适合步行和慢跑</p> <p>尺码:35-42</p> <button>加入购物车</button> </div> </main> <footer> <p>李宁品牌在线商店 © 2021. All rights reserved.</p> </footer> </body> </html>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱吃芝士的土豆倪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值