Files
qinglong/脚本库/web版/抓包/百姓书房座位监控/2025-10-28_百姓书房座位监控_3f6ce305.py
2026-05-24 05:33:05 +00:00

60 lines
2.9 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Source: https://github.com/NaroisCool/naro-scripts/blob/master/%E7%99%BE%E5%A7%93%E4%B9%A6%E6%88%BF%E5%BA%A7%E4%BD%8D%E7%9B%91%E6%8E%A7.py
# Raw: https://raw.githubusercontent.com/NaroisCool/naro-scripts/master/%E7%99%BE%E5%A7%93%E4%B9%A6%E6%88%BF%E5%BA%A7%E4%BD%8D%E7%9B%91%E6%8E%A7.py
# Repo: NaroisCool/naro-scripts
# Path: 百姓书房座位监控.py
# UploadedAt: 2025-10-28T05:54:28+08:00
# SHA256: 3f6ce3055f9dbbab29ddfcc6febfc1ecde461a7c7563f58be68c492eb2d1366e
# Category: web版/抓包
# Evidence: web/H5关键词 + cookie/token/header
import requests
import notify
import re
#每天的sign不一样且要一一对应。
combine = [{'sign':'9F8D054C5CA8CC18C485842603F83177','date':'2025-10-28'},{'sign':'83D2F2B9C439700ADBF6331D5FB30B01','date':'2025-10-29'},{'sign':'044214497EBE5BC71A7CCE31E458B2A6','date':'2025-10-30'}]
for c in combine:
headers = {
'Host': 'api.yuxiusz.com',
'Connection': 'keep-alive',
# 'Content-Length': '46',
'Token': 'TC1myo0TW6eEM4vA21sNuxb5XTGgz2edcKKsrZRfdp8/XuKpUVcfn942aDgaesA/bwVO34UP/CuqilVXCKI84wmfazW+DTAbO4s02zRKbB//R6ifvwPMdr1pGbOlxE11Zc/pY4m3zCQ78N7BtSuFH+ZFBCoijYbevsrZtr7/8qONEVWlnsgxS0k47CMBVK8jmyu0XQt4KnqXwfXkdS9l27kD0PZ+3l+PcyBYaFEbsdlvESetKUtn8TbXXsqzNSZ0sqQWZjV33ef1NNk5nQ/kLHCfRFDF9PJ3ph8m4CCAaDHVsTqKnJ+5RVSJhpQGY6PldHdy98gEKjsLOtN8gJ6uiA==',
'content-type': 'application/x-www-form-urlencoded',
'instid': '2001',
'Sign': c['sign'],
# 'Accept-Encoding': 'gzip,compress,br,deflate',
'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 17_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/8.0.64(0x1800402b) NetType/4G Language/zh_CN',
'Referer': 'https://servicewechat.com/wxf634f3b3f235aa75/9/page-frame.html',
}
data = {
'org_id': '704',
'area_id': '6075',
'choose_date': c['date'],
}
response = requests.post('https://api.yuxiusz.com/appapi/reservation/Seats', headers=headers, data=data)
data = response.json()
try:
for item in data['data']:
name = item['name']
pattern = r'[^\w\s\u4e00-\u9fa5]'
seat = re.sub(pattern,'',name)
for detail in item['details']:
reservable_details = [
{
'time_slot': f"{detail['start_time']} - {detail['end_time']}",
'is_reservable': detail['is_reservable'],
'date': detail['date']
}]
if detail['is_reservable']:
notify.send(f"{reservable_details[0]['date']}{seat}有座位了!!", "时间段"+str(reservable_details[0]['time_slot']))
print(reservable_details)
else:
print(reservable_details[0]['date']+'暂时没座位。')
except:
print('token有问题请重新获取')
notify.send('百姓书房座位监控失败~','请检查Token和sign是否正确和有效。')