import requests
import time
# authorization = 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsic2VjdXJpdHktc2VydmVyIl0sInVzZXJfbmFtZSI6IjE1ODE4NDI1MDUxIiwic2NvcGUiOlsiYWxsIl0sImV4cCI6MTY5Njg0NTkxNiwidXNlcklkIjoxOTA0MDIsImp0aSI6Ijc1NzExMzA2LTgzYzctNDNhOC1iODYwLWM4ZWNjOGM4MTI5MyIsImNsaWVudF9pZCI6InNlY3VyaXR5LWFwcCIsInVzZXJuYW1lIjoiMTU4MTg0MjUwNTEifQ.1H2SbRZ-KPDjqYAqStQ42tsXkv_aK1AZEuAzc6qkCdM'
authorization = 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsic2VjdXJpdHktc2VydmVyIl0sInVzZXJfbmFtZSI6IjE1ODE4NDI1MDUxIiwic2NvcGUiOlsiYWxsIl0sImV4cCI6MTY5Njg0ODI4MywidXNlcklkIjoxOTA0MDIsImp0aSI6IjU4NzgzZDgwLTJiMmQtNGNhNy1iMjgzLTAzMzE0MDk1OGRhMCIsImNsaWVudF9pZCI6InNlY3VyaXR5LWFwcCIsInVzZXJuYW1lIjoiMTU4MTg0MjUwNTEifQ.-kPe8ubqHj3ja1HjsH03vAsq67hM_3vQXaju5BWqlpw'
headers = {
'Accept-Language': 'zh-CN,zh;q=0.9',
'Connection': 'keep-alive',
'Content-Type': 'application/json,application/json',
'Referer': 'https://servicewechat.com/wx5f1853171795aa44/53/page-frame.html',
'Sec-Fetch-Dest': 'empty',
'Sec-Fetch-Mode': 'cors',
'Sec-Fetch-Site': 'cross-site',
'xweb_xhr': '1',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 MicroMessenger/7.0.20.1781(0x6700143B) NetType/WIFI MiniProgramEnv/Windows WindowsWechat/WMPF XWEB/8447',
}
import datetime
def booking(bookingTimeId, visitStartTime, visitEndTime):
headers = {
'Content-Type': 'application/json',
'Accept-Language': 'zh-CN,zh;q=0.9',
'authorization': authorization,
'Connection': 'keep-alive',
'Referer': 'https://servicewechat.com/wx5f1853171795aa44/53/page-frame.html',
'Sec-Fetch-Dest': 'empty',
'Sec-Fetch-Mode': 'cors',
'Sec-Fetch-Site': 'cross-site',
'xweb_xhr': '1',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 MicroMessenger/7.0.20.1781(0x6700143B) NetType/WIFI MiniProgramEnv/Windows WindowsWechat/WMPF XWEB/8447',
}
data = {
"visitType": 0, "visitWay": 0, "swiperIndex": 0, "reserveId": "126",
"bookingVisitList": [
{"age": 33, "ageStructureType": 1, "cellphone": AAA, "fullName": "AAA",
"idNumber": "AAA", "idType": 0, "sex": 0, "ethnicity": "汉", "nationality": "中国",
"nativePlace": "汕头", "currentPhysicalCondition": "良好"},
{"age": 6, "ageStructureType": 0, "cellphone": AAA, "fullName": "AAA",
"idNumber": "AAA",
"idType": 0, "sex": 0, "ethnicity": "汉", "nationality": "中国", "nativePlace": "汕头",
"currentPhysicalCondition": "良好"}
], "emergencyContact": "", "emergencyContactEmail": "",
"emergencyContactPhone": "", "visitStartTime": visitStartTime, "visitEndTime": visitEndTime,
"visitNature": None, "saveTeamInfo": None, "leader": None, "leaderIdType": 0, "leaderIdcard": None,
"leaderPhone": None, "leaderEthnicity": None, "leaderNationality": None, "leaderNativePlace": None,
"leaderCurrentPhysicalCondition": None, "unitCrrtificateImg": None, "visitorListImg": None,
"teamListImg": [], "epidemicPrevention": [], "reportType": None, "reportSubmitDate": None, "leaderAge": 33,
"expertPhotoUrl": None, "visitCount": 2, "teamName": None, "visitPurpose": None,
"bookingTimeId": bookingTimeId, "activityId": None}
print(data)
response = requests.post('https://zhpt.lyj.gd.gov.cn/fimp/booking/wechat/booking', headers=headers, json=data,
verify=False)
print(response.json())
while True:
now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
response = requests.get('https://zhpt.lyj.gd.gov.cn/fimp/booking/wechat/home/reserve/126', headers=headers,
verify=False
)
r = response.json()
num = 0
days = r["data"]["days"]
print(f"{r['data']['lastModifyTime']} -- {days[0]['bookingDate']} -- {days[-1]['bookingDate']}")
for day in days:
if day['surplus'] > 1:
num += 1
for time in day["times"]:
print(
f" {time['bookingStatisticID']} -- {now} -- {day['bookingDate']} -- {time['bookingTime']} -- {time['surplus']} -- ")
# if day["dayOfWeek"] in (6, 0):
stime, etime = time['bookingTime'].split("~")
booking(
time["bookingStatisticID"],
f"{day['bookingDate'][:10]} {stime}:00",
f"{day['bookingDate'][:10]} {etime}:00"
)
raise Exception("stop")
else:
if not num:
print(f"{now} -- :木有票")
else:
break
time.sleep(3)
NLDNLD
柳木木_kylin2023-10-09 21:51
相关推荐
adayabetter14 分钟前
Python自动化办公提效相关脚本二狗哈31 分钟前
czsc入门8:Signal信号IT北辰1 小时前
【Python实战升级版】企业用电深度分析完整版|十大可视化图表+智慧能源看板,电费优化/数据汇报小白学大数据1 小时前
爬虫技术选股:Python 自动化筛选潜力股践行见远2 小时前
django之认证与权限青春不败 177-3266-05202 小时前
基于R语言lavaan结构方程模型(SEM)实践技术应用费弗里2 小时前
进阶技巧:在Dash应用中直接使用原生React组件Ashley_Amanda2 小时前
Python入门知识点梳理tjjucheng3 小时前
小程序定制开发哪家有完整流程海棠AI实验室3 小时前
第十二章 类型标注与可读性:让协作与复用更容易