Skip to content

《我去图书馆》、《来选座》抢座助手的 python 实现

License

Notifications You must be signed in to change notification settings

qmppz/igotolibrary

Repository files navigation

igotolibrary-抢座助手

language license


声明

我去图书馆 对爬虫的防护较弱且更新不及时, 网络上已经开始流传收费的抢座助手; 这些对正常抢座的普通同学不公平;

  1. igotolibrary 无意侵犯任务组织或个人的权益, 仅作学习交流;
  2. igotolibrary 已经三次向 我去图书馆 反馈了抢座漏洞的问题, 但没有得到积极的反馈和有效的响应, 反馈截图;
  3. igotolibrary 开源, 供大家公平使用; 欢迎有兴趣的同学一起维护更新, 直到修复漏洞为止;
  4. 希望大家不要二次开发后用来提供收费服务.

简介

一个简单的 Python 爬虫,通过 Charles 抓包分析公众号《我去图书馆》、《来选座》的服务通信协议,获取自习室和座位表信息,使用Python+requests库模拟预定座位的流程,实现定时预订/实时捡漏自动抢座。


抓包过程分析


项目结构

分为两个部分

  • mainloop 抢座任务执行部分
  • mhandle_content 指令解析验证储存部分

如图:

igtl_again

  • 有疑问可提交 Issues
  • 有修改可提交到 dev 分支后 Pull requests

接下来可改进的地方 TODOLIST

  1. 一些细节: TODOLIST.md;
  2. reserve.py 模块弃用线程, 改用协程, 节约资源, 增大并发任务量;
  3. 尝试换成 pyv8库执行js; 加快 hex_code 字段的计算;
  4. 开发一个极速版 personal_reserve, 去掉冗余的参数信息只保留核心的步骤, 最大可能的加速抢座;
  5. ...(待补充)

部署demo

我已将工程部署到了微信 《为了学习》公众号,欢迎测试,服务启动中...

weilexuexi_gzh


致谢

有问题可留言 或 联系公众号管理员

AppreciationCode

AppreciationCode.png

About

《我去图书馆》、《来选座》抢座助手的 python 实现

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages