当前位置:   article > 正文

python进不去_"我去图书馆"抢座助手-python实现

我去图书馆抢座软件登不进去
2019.07.22 文章已更新: [igtl-again] 我去图书馆-抢座主逻辑详解- https:// zhuanlan.zhihu.com/p/74 706139
二叉树:[igtl-again]我去图书馆-抢座主逻辑详解​zhuanlan.zhihu.com

  • 写在前面
    项目地址: RenjiaLu9527/igotolibrary
    典型的python使用requests模块模拟操作实现抢座
  • 正文
    某天想找个有网有电,桌子还宽的自习室,转了一圈跑到了图书馆,发现图书馆弄了个新的微信座位预订系统,抓包一看,就有了此文;
    其实关键代码就一句话:
  1. try:
  2. respone=rs.get(url,timeout=5,headers=mheaders,cookies=mcookies)
  3. except Exception as e:
  4. print(u"[E]: 确认选座出错 %s"%repr(e))
  5. else:
  6. #是预定成功 而不是 预订成功
  7. if (respone.status_code == 200) and ((respone.text.find("预定成功") > 0) or (respone.text.find("预定座位成功")>0)) :
  8. print(u"[I]: 抢座成功!-状态码:%5d"% (respone.status_code))

当时又正好看到一篇微信公众号开发的文章,就顺手把官网的样例代码稍加修改放在了服务器上,测试确实可行;发了个朋友圈,等了几天居然没有一个人来使用。。尴尬之余把代码上传到了github,又过了几天,终于出现了第一位用户,但是ta是来自bbmc的,也就是霸占了 '学习时长排行榜' 全国排名的学校

776248a6b33b87254c7eede96d355094.png
'足以看出,蚌埠医学院的同学们的学习热情之高涨,自习室座位之短缺!

不同学校的自习室编号、座位布局不同,抓包得到bbmc的自习室信息:

  1. DICT_SCHOOL={
  2. "1":{"ROOMVALUE":"176","SEATVALUE":R1_BMC},
  3. "2":{"ROOMVALUE":"175","SEATVALUE":R2_BMC},
  4. "RUNTIME":"06:30:00"
  5. }

来自bbmc的同学无法使用我部署到公众号的服务,于是重新修改了下后台代码,测试发现bbmc的图书馆抢座需要验证码,于是转而写了个实时捡漏的抢座脚本:每隔几秒刷新座位列表,有空位就抢座;所以现在公众号能提供的服务为bbmc的座位实时捡漏,bjtu的20:00抢座。

代码略长就不贴在这里了,详情看文章开头的github

微信后台处理流程图:

f279fff4595ab5569a2a126286661ae7.png

定点抢座流程图:

9bd9edf95289ebc30e44ef5bd7ef5415.png

介绍,有什么想说的请留言。


  • 参考文章
    快速上手 — Requests 2.18.1 文档 python爬虫从入门到放弃(六)之 BeautifulSoup库的使用 使用Charles进行HTTPS抓包
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/173988
推荐阅读
相关标签
  

闽ICP备14008679号