python实现微信医院挂号查询,并钉钉实时通知

医院看病挂号,需要在微信公众号上挂号再去看病,等了两三周天天都是约满,无奈之下花了一会时间写了个脚本监控,发现有号就钉钉发消息通知我,解放双手从我做起。

代码如下:

import ast
import json
import time
import requests

urll = "https://xxxxxxxxx.com/gateway/registration/appointment/schedule/find?branchCode=1234&deptId=1234&deptName=xxxxxx&deptType=&startDate=2020-11-23&endDate=2020-11-28&ajaxConfig=true"
hh = {
"Host": "mp.mhealth100.com",
"Connection": "close",
"Accept": "application/json",
"User-Agent": "Mozilla/5.0 (Linux; Android 6.0.1; MuMu Build/V417IR; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/52.0.2743.100 Mobile Safari/537.36 MMWEBID/2023 MicroMessenger/7.0.17.1720(0x27001134) Process/tools WeChat/arm32 NetType/NON_NETWORK Language/zh_CN ABI/arm32",
"Accept-Encoding": "gzip, deflate",
"Accept-Language": "zh-CN,en-US;q=0.8",
"Cookie": "wechat_openId=ajdfahdflkahdlkfhaklhdfkljhadf; providerId=wechat; wechat_access_token=kahjdkjfhalkdjhflajkhdflkahdklfhj-JzUhxxyVdU77pwzEM-jkadfhlkjdhfklahdsflkjahsdkjlfhalkjsdhflajhsdfkjah; token=IWeAxxxd5-gpzJyxxxYSKg; userId=xxxxxxxxxxxxxxxxx; Hm_lvt_4f5e6d65812072c49089f06245234523452345=1606104987; Hm_lpvt_4f5e6d65812072c49089f24523452345234=1606101234",
"X-Requested-With": "com.tencent.mm"
}

def select_data():
    data = requests.get(url=urll, headers=hh)
    resule = data.text #所有皮肤科的数据
    return resule

def jsonss(js):
    data1 = js["data"]
    data11 = data1[9]["scheduleInfos"] #9号是xx医生的序号
    for i in range(len(data11)): #data11[i]是每条单独的上午下午数据
        if data11[i]["regLeaveCount"] != "0":
            dingding(data11[i]["regDate"],data11[i]["weekName"],data11[i]["regLeaveCount"])
        else:
            pass

def dingding(data,week,count):
    url = "https://oapi.dingtalk.com/robot/send?access_token=hdfkhaskdfhadhsfkhaslkdfhlkajshdfklahsdkjfhalsdfhalksdhjfkjahadfasdfasdfa"
    # 构建请求头部
    header = {
        "Content-Type": "application/json",
        "Charset": "UTF-8"
    }
    # 构建请求数据
    tex = "xx医生 时间:%s %s 剩余可挂号数量:%s" % (data,week,count)
    message = {
        "msgtype": "text",
        "text": {
            "content": tex
        },
        "at": {
            "isAtAll": False
        }
    }
    # 对请求的数据进行json封装
    message_json = json.dumps(message)
    # 发送请求
    info = requests.post(url=url, data=message_json, headers=header)
    # 打印返回的结果
    while info.ok != True:
        info = requests.post(url=url, data=message_json, headers=header)

if __name__ == '__main__':
    a = 0
    while True:
        js = select_data()
        try:
            js = ast.literal_eval(js)
            data = jsonss(js)
            a+=1
            if a == 60:
                data=""
                week=""
                count="0 挂号机器人正常运行中"
                dingding(data,week,count)
                a = 0
            time.sleep(60)
        except:
            data = ""
            week = ""
            count = "0 挂号机器人token失效"
            dingding(data,week,count)

去github上搜了下,已经有大佬在维护这个类似的脚本了,可以移步去这里查看最新版本的代码。

GitHub - lwm98/health160: 健康160自动预约/挂号/抢号脚本,可抢东莞hpv九价,用魔法对抗魔法,禁止商用🖖

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值