因爲最近經常跑圖書館,然後要很早預約就預約不到,所以心生一計,寫個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)
因爲擔心傳播開來的話是否違反校紀啊之類的,所以本博客代碼僅作學習交流之用,請勿用於盈利或違規之事。運行如下圖,大家可以一起交流。