get_LibSeat icon indicating copy to clipboard operation
get_LibSeat copied to clipboard

利昂图书馆预约系统自动预约&签到程序。支持包括中国人民大学、北京师范大学、济南大学、哈尔滨工业大学等在内的38所高校的图书馆系统

依赖项

r = requests.get('http://127.0.0.1/newinfo.json') 该行是读取数据文件, newinfo.json 中存放的是账号、密码、座位id、预约时间等数据, 我是将 json 文件放在本地服务器的 web 路径下了, 你也可以直接用普通读文件方法或者将这些数据放到数据库中读取

整个程序很简短, 只是使用 requests 包来发送 HTTP(s) 请求

What's this?

基于 Python 的利昂图书馆预约系统自动签到&预约程序。可支持自动预约、自动签到 (可外网签到-利用 X-Forwarded-For 字段)

Get Started

git clone https://github.com/yunqiang-sun/get_LibSeat
cd get_LibSeat
python newSeatCrawler.py ## 预约,json是配置文件,放账号密码预约座位号时间等信息
python newCheckIn.py ## 签到

Tips

使用 crontab 设置定时任务, 另外要注意学校服务器时间与你所用的服务器的微小时间差, 如果你设置的预约时间为 5:00 则有可能学校服务器的时间还没有到, 此时预约可能会失败, 可以在代码中加入 try.. except.. 做异常处理

性能

现在每天有很多程序在抢座, 甚至出现了多个程序抢同一个座位, 早晨如果要加快预约速度, 首先服务器的网络速度要快(使用 ping 命令测试), 这是最重要的因素. 其次应去掉程序中的所有 IO 操作, 另外可以在 5:00 预约开始前提前发送 get 请求获取 token, 将token 放到 redis 中, 预约开始后直接从 redis 读取

School List

No SchoolName
01 济南大学
02 中国人民大学
03 哈尔滨工业大学
04 武汉大学
05 天津大学
06 同济大学
07 首都医科大学
08 合肥工业大学
09 安徽工程大学
10 辽宁大学
11 北京联合大学
12 闽南师范大学
13 华中农业大学
14 聊城大学
15 沈阳大学
16 燕山大学
17 宁波工程学院
18 辽宁师范大学
19 河南工业大学
20 河南财经政法大学
21 对外经济贸易大学
22 广东外语外贸大学
23 武汉音乐学院
24 华东政法大学
25 福州大学
26 华南农业大学
27 陕西师范大学
28 南华大学
30 厦门理工学院
31 首都师范大学
32 阜阳师范大学
33 江苏医药职业学院
34 中华女子学院
35 广西大学
36 河南理工大学
37 常州大学
38 河南牧业经济学院