NLDNLD

复制代码
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)
相关推荐
孟健11 分钟前
我用Grok Bot本地剪口播视频,3段提示词搞定气口切除、字幕与封面
人工智能·python·aigc
2601_966949651 小时前
如何封装 qd.klines.batch(),让批量 K 线查询函数在多个策略中复用?
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
神仙别闹2 小时前
基于Python实现英词语自动对齐系统
开发语言·python
老歌老听老掉牙3 小时前
圆柱端面四平面交线及其在yoz面投影的几何解析与 Python 实现
开发语言·python·平面
我要见SA姐13 小时前
Chrome 扩展安全攻防实录:从权限滥用到供应链投毒
运维·人工智能·python·机器学习·自动化
2601_962885723 小时前
给 backtrader 接 A 股数据:用 AlphaFeed 喂PandasData
python
YYYing.3 小时前
【Agent系列 (十一) 】上下文工程
人工智能·python·ai·agent·上下文工程
计算机毕业编程指导师3 小时前
基于深度学习的光伏组件红外图像缺陷识别系统设计与实现
人工智能·python·深度学习·目标检测·毕业设计·课程设计·光伏
前端精髓4 小时前
langchain 短期记忆(状态)动态运行时上下文
python·langchain
最强小杰5 小时前
DeepSeek V4 Flash + Codex CLI 接入教程:原生 Responses API 适配,从配置到跑通收藏这篇就够了(2026)
java·前端·python·ai