因为最近经常跑图书馆,然后要很早预约就预约不到,所以心生一计,写个Python脚本,因为以前从来没有写过,所以这次也遇到很多困难,但是最后做出来了!
1.微信关注湖南师范大学图书馆服务号,进入微服务大厅。
2.座位预约——按图预约——选择日期教室座位号。
3.手机stream抓包。
4.分析订座包参数。
5.实现自动化抢座。
师大的服务提供网址wx.lib.hunnu.edu.cn是不能够分享页面的,我在每个界面都查看过了,每个界面都没有分享的选项,所以我们不能借助电脑抓包软件,只能用手机抓包软件,博主ios端,用的是一个免费的软件叫stream实现手机端抓包。
如下图
部分代码如下
import requests
import time
def library(alltime, seatno, seatdate):
# 模仿手机端访问公众号
def unix_time(dt):
# 转换成时间数组
timeArray = time.strptime(dt, "%Y-%m-%d %H:%M:%S")
# 转换成时间戳
timestamp = int(time.mktime(timeArray))
return timestamp
if __name__ == "__main__":
print("请输入抢座位时间,格式如: 2019-11-17 06:00:00")
start_time = input()
# print(time.asctime(time.localtime(time.time())))
print("请输入全部时间,格式如480,1320")
alltime = input()
print("请输入座位号,格式如:2-202")
seatno = input()
print("请输入日期:格式2019-11-18")
seatdate = input()
start_time = unix_time(start_time) - int(time.time())
print("等待" + str(start_time) + "秒后开始抢座")
time.sleep(start_time)
while True:
# 2019-04-03 14:40
a = library(alltime, seatno, seatdate)
if a == "预约成功!":
print("抢座成功")
break
print(a)
print("抢座中")
time.sleep(5)
因为担心传播开来的话是否违反校纪啊之类的,所以本博客代码仅作学习交流之用,请勿用于盈利或违规之事。运行如下图,大家可以一起交流。