自动化滇医通

###我已经将数据爬取出来###
现在开源集合大家的思路一起研究
(请更换ip 以及 暂停时间 不然会提示违规操作)
脚本读取预约信息后开始随机抢一家的,qiang方法里面请自行修改抓包数据参数!!
在这里插入图片描述
现在开源大家一起讨论

python代码:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import requests
import random
import json
import time
# 抓包信息填入
from_date="2021-09-07"#今日日期 请注意格式
end_date="2021-09-14"#14
reg_data="2017-2-20"
Authorization="DYT eyJhbGciOiJIUzI1NiJ9.eyJ3ZWNoYXRfaWQiOjQyMDM5NTUsInN1YnNjcmliZSI6MCwiZHpqX3N1YnNjcmliZSI6MCwib3BlbmlkIjoib19VMzZzNE0yclR0M0NZbG5Zb05jZnZ3UnIwWSIsInRoaXJkX3VzZXJfaWQiOiIiLCJpc3MiOiJkeXQiLCJuZXdfc3Vic2NyaWJlIjowLCJuZXdfb3BlbmlkIjoiIiwiZHpqX29wZW5pZCI6IiIsInVzZXJfaWQiOjI4ODg1MTUsIndlY2hhdF9vcGVuX2lkIjoib19VMzZzNE0yclR0M0NZbG5Zb05jZnZ3UnIwWSIsInVuaW9uX2lkIjoib05RejQwWHpPVkRMdW1acmpBTDZEd1M3NUpCQSIsIm1vY2tfb3BlbmlkIjpmYWxzZSwibWluaV9vcGVuaWQiOiJvaUE0UDVFcnFIdFpFeW5MdjVjbjJTSWRhVlpJIiwiZXhwIjoxNjMxMDI2NDIwLCJpYXQiOjE2MzEwMjA4MjB9.d_wdcEKoUY6yXFPdkZpqk_LbA8pnVuTAS7VP3siM36g"
x_uuid="058F41FDBC3F09683D4E3A96505A4BA8"
acw_tc="0bdd34c216310199867268852e01a12d34c1660f204dfaa7363155fb5343ed"
def dlogin():
    host = "https://newdytapi.ynhdkc.com/index/hospital/871958/depart"
    #其他医院请更改871958  华山871958
    params = {


    }
    headers = {
        "Host": "newdytapi.ynhdkc.com",
        'Connection': 'keep-alive',
        "Accept": "application/json, text/plain, */*",
        "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 MicroMessenger/7.0.9.501 NetType/WIFI MiniProgramEnv/Windows WindowsWechat",
        # "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8",
        "Authorization": Authorization,
        "x-uuid": x_uuid,
        "Origin": "https://appv2.ynhdkc.com",
        "X-Requested-With": "com.tencent.mm",
        "Sec-Fetch-Site": "same-site",
        "Sec-Fetch-Mode": "cors",
        "Sec-Fetch-Dest": "empty",
        "Referer": "https://appv2.ynhdkc.com/",
        "Accept-Encoding": "gzip, deflate",
        "Accept-Language": "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7"
    }
    cookies = {
        "acw_tc": acw_tc

    }

    r = requests.get(host, data=params)
    print("函数dlogn\n",r.json())
    # debug = r.json()
    code = r.json()['data']['dep_list'][0]
    msg = r.json()['code']
    if msg != 1:
        print("获取不到信息请检查接口")
    else:
        # print(code)
        print("======继续执行!!!======")
        tmp_dep_id = str(code['dep_id'])
        print("以获取===dep_id===hos_code")
        global dep_id,hos_code
        dep_id = code['dep_id']
        hos_code=code['hos_code']
        tmp_dep_name = str(code['dep_name'])
        tmp_hos_code = str(code['hos_code'])
        print("dep_id:", tmp_dep_id)
        print("dep_name:", tmp_dep_name)
        print("hos_code:", tmp_hos_code)
        print("======开始监控疫苗开抢状态======")
        dier(tmp_dep_id,tmp_dep_name,tmp_hos_code)
    # 变量存入
def dier(tmp_dep_id,tmp_dep_name,tmp_hos_code):
    host = "https://newdytapi.ynhdkc.com/index/doctor?hos_code="+tmp_hos_code+"&dep_id="+tmp_dep_id+"&from_date="+from_date+"&end_date="+end_date+"&reg_date="+reg_data+"&other_info=undefined&vip=0"
    # 其他医院请更改871958  华山871958
    params = {

    }
    headers = {
        "Host": "newdytapi.ynhdkc.com",
        'Connection': 'keep-alive',
        "Accept": "application/json, text/plain, */*",
        "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 MicroMessenger/7.0.9.501 NetType/WIFI MiniProgramEnv/Windows WindowsWechat",
        "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8",
        "Authorization": Authorization,
        "x-uuid": x_uuid,
        "Origin": "https://appv2.ynhdkc.com",
        "X-Requested-With": "com.tencent.mm",
        "Sec-Fetch-Site": "same-site",
        "Sec-Fetch-Mode": "cors",
        "Sec-Fetch-Dest": "empty",
        "Referer": "https://appv2.ynhdkc.com/",
        "Accept-Encoding": "gzip, deflate",
        "Accept-Language": "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7"
    }
    cookies = {
        "acw_tc": acw_tc

    }
    print(host)
    r = requests.get(host, data=params, headers=headers, cookies=cookies)
    debug = r.json()['data'][5]
    # 2为重组 5为九价其他请自行抓包
    print("========================",debug)
    print("存入全局:======")
    print("doc_id",debug['doc_id'])
    global doc_id
    doc_id = debug['doc_id']
    print("doc_id存入全局:======")
    print("hospital_id",debug['hospital_id'])
    print("doc_name",debug['doc_name'])
    print("doc_id",debug['doc_id'])
    print("hos_id",debug['hos_id'])
    print("sch_date", debug['sch_date'])
    if r.json()['code']==1:
        print("获取信息成功!下一步获取预约人信息")
        tmp_hos_id=str(debug['hos_id'])
        yuyue(tmp_hos_id)
    else:
        print("失败!!!")

def cunhuo(tttt):
    tmo=str(tttt)
    print("接收到传参数据",tmo)
    host = "https://newdytapi.ynhdkc.com/index/patient/2807231?hos_id="+tmo
    # 其他医院请更改871958  华山871958
    params = {

    }
    headers = {
        "Host": "newdytapi.ynhdkc.com",
        'Connection': 'keep-alive',
        "Accept": "application/json, text/plain, */*",
        "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 MicroMessenger/7.0.9.501 NetType/WIFI MiniProgramEnv/Windows WindowsWechat",
        "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8",
        "Authorization": Authorization,
        "x-uuid": x_uuid,
        "Origin": "https://appv2.ynhdkc.com",
        "X-Requested-With": "com.tencent.mm",
        "Sec-Fetch-Site": "same-site",
        "Sec-Fetch-Mode": "cors",
        "Sec-Fetch-Dest": "empty",
        "Referer": "https://appv2.ynhdkc.com/",
        "Accept-Encoding": "gzip, deflate",
        "Accept-Language": "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7"
    }
    cookies = {
        "acw_tc": acw_tc

    }
    print(host)
    r = requests.get(host, data=params, headers=headers, cookies=cookies)
    zate = r.json()['msg']
    print(zate)

def yuyue(hos_id):
    tmo=str(hos_id)
    print("接收到传参数据",tmo)
    host = "https://newdytapi.ynhdkc.com/index/patient/2807231?hos_id="+tmo
    # 其他医院请更改871958  华山871958
    params = {

    }
    headers = {
        "Host": "newdytapi.ynhdkc.com",
        'Connection': 'keep-alive',
        "Accept": "application/json, text/plain, */*",
        "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 MicroMessenger/7.0.9.501 NetType/WIFI MiniProgramEnv/Windows WindowsWechat",
        "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8",
        "Authorization": Authorization,
        "x-uuid": x_uuid,
        "Origin": "https://appv2.ynhdkc.com",
        "X-Requested-With": "com.tencent.mm",
        "Sec-Fetch-Site": "same-site",
        "Sec-Fetch-Mode": "cors",
        "Sec-Fetch-Dest": "empty",
        "Referer": "https://appv2.ynhdkc.com/",
        "Accept-Encoding": "gzip, deflate",
        "Accept-Language": "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7"
    }
    cookies = {
        "acw_tc": acw_tc

    }
    print(host)
    r = requests.get(host, data=params, headers=headers, cookies=cookies)
    zate = r.json()['msg']
    print(zate)
    gguide=r.json()['data'][0]
    print("pat_id",gguide['pat_id'])
    print("user_id",gguide['user_id'])
    print("=====存入全局====")
    global user_id, pat_id
    user_id = gguide['user_id']
    pat_id =  gguide['pat_id']
    print("=====存入全局====")
    print("预约人姓名",gguide['patient_name'])
    print("开始获取疫苗今日信息")
    yimiao_data()
def yimiao_data():
        print("======正在抢====")
        hos_cede_tt=str(hos_code)
        dep_id_tt = str(dep_id)
        doc_id_tt = str(doc_id)
        pat_id_tt = str(pat_id)
        user_id_tt = str(user_id)
        # print("hos_code", hos_cede_tt)
        # print("dep_id", dep_id_tt)
        # print("doc_id", doc_id_tt)
        # print("pat_id", pat_id_tt)
        # print("user_id", user_id_tt)
        print("数据预览")
        # 需要xxuid cookie
        host = "https://newdytapi.ynhdkc.com/index/schedule?hos_code="+hos_cede_tt+"&dep_id="+dep_id_tt+"&doc_id="+doc_id_tt+"&from_date="+from_date+"&end_date="+end_date+"&reg_date="+reg_data+"&hyid=&vip=0"
        params = {


        }
        headers = {
            "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8",
            "Host": "newdytapi.ynhdkc.com",
            "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 MicroMessenger/7.0.9.501 NetType/WIFI MiniProgramEnv/Windows WindowsWechat",
            "Accept": "application/json, text/plain, */*",
            "Authorization": Authorization,
            "x-uuid": x_uuid,
            "Origin": "https://appv2.ynhdkc.com",
            "X-Requested-With": "com.tencent.mm",
            "Sec-Fetch-Site": "same-site",
            "Sec-Fetch-Mode": "cors",
            "Sec-Fetch-Dest": "empty",
            "Referer": "https://appv2.ynhdkc.com/",
            "Accept-Encoding": "gzip, deflate",
            "Accept-Language": "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7"
        }
        cookies = {
            "acw_tc": acw_tc
        }
        print(host)
        r = requests.get(host, data=params, headers=headers, cookies=cookies)
        code = r.json()['data']
        # 昆明市妇幼保健院(华山西路院区 疫苗)
        print("当前所选择医院疫苗剩余:")
        # print(code)
        a = 0
        for sch_date1 in code:
            if sch_date1['src_num'] > 0:
                print("可以抢_次数+1")
                a=a+1
            else:
                print("不可以抢")
            print("总可抢数据次数:",a)
        sjs = random.randint(0, a)
        print("随机数",sjs)
        code1 = r.json()['data']
        aa = 0
        for sch_date in code1:
            aa=aa+1
            print("日期:", sch_date['sch_date'], "剩余预约数量:", sch_date['src_num'])
            if aa==sjs:
                print("可以抢")
                # print("schedule_id",sch_date['schedule_id'])
                # print("sch_date",sch_date['sch_date'])
                # print("time_type", sch_date['time_type'])
                tmp_1 = sch_date['schedule_id']
                tmp_2 = sch_date['sch_date']
                tmp_3 = sch_date['time_type']
                qiang(tmp_1, tmp_2, tmp_3)
            #     跳转到抢 疫苗的qiang函数
            else:
                print("不可以抢")



def qiang(schedule_id,sch_date,time_type):
    print("======正在抢疫苗====")
    hos_code_q=str(hos_code)
    dep_id_q = str(dep_id)
    doc_id_q = str(doc_id)
    pat_id_q = str(pat_id)
    user_id_q = str(user_id)
    schedule_id_q = str(schedule_id)
    sch_date_q = str(sch_date)
    # sch_date_q=datetime.date(sch_date_q)
    print(sch_date_q)
    # sch_date_q = datetime.datetime.strptime(sch_date_q, '%Y-%m-%d').date()

    time_type_q = str(time_type)
    url = "https://dytapi.ynhdkc.com/v1/appoint?hos_code="+hos_code_q+"&dep_id="+dep_id_q+"&doc_id="+doc_id_q+"&pat_id="+pat_id_q+"&user_id="+user_id_q+"&schedule_id="+schedule_id_q+"&cate_name="
    body = {
        "doc_name": "重组带状疱疹疫苗(CHO细胞)",
        "hos_name": "昆明市妇幼保健院(华山西路院区 疫苗)",
        "hos_code": "871958",
        "dep_name": "疫苗接种预约",
        "level_name": "",
        "dep_id": dep_id_q,
        "doc_id": doc_id_q,
        "pat_id": pat_id_q,
        "schedule_id": schedule_id_q,
        "jz_card": "",
        "sch_date": sch_date_q,
        "time_type": time_type_q,
        "info": "",
        "ghf": 0,
        "zlf": 0,
        "zjf": 0,
        "jz_start_time": 0,
        "amt": 0,
        "jz_card_type": 0,
        "wechat_login": "dytminiapp"

    }
    headers = {
        'Host':'dytapi.ynhdkc.com',
        'Connection': 'keep-alive',
        'Content-Length': '415',
        'Accept': 'application/json, text/plain, */*',
        'x-uuid': x_uuid,
        'Content-Type': 'application/json;charset=UTF-8',
        'Origin': 'https://appv2.ynhdkc.com',
        'X-Requested-With': 'com.tencent.mm',
        'Sec-Fetch-Site': 'same-site',
        # 'User-Agent':'Mozilla/5.0 (Linux; Android 9; V1814T Build/PKQ1.180819.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/86.0.4240.99 XWEB/3117 MMWEBSDK/20210601 Mobile Safari/537.36 MMWEBID/9644 MicroMessenger/8.0.11.1980(0x28000B3B) Process/appbrand0 WeChat/arm64 Weixin NetType/WIFI Language/zh_CN ABI/arm64 miniProgram',
        'Sec-Fetch-Mode': 'cors',
        'Sec-Fetch-Dest': 'empty',
        'Referer': 'https://appv2.ynhdkc.com/',
        'Accept-Encoding': 'gzip, deflate',
        "Authorization": Authorization,
        "acw_tc": acw_tc,
        'Accept-Language': 'zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7'
    }
#cookies可以携带在header
    print(url)
    # data = json.dumps(body)
    print("数据压缩")
    # print(data)
    response = requests.post(url, json=body, headers=headers)
    # 也可以直接将data字段换成json字段,2.4.3版本之后支持
    # response  = requests.post(url, json = body, headers = headers)
    # 返回信息
    print (response.text)
    # 返回响应头
    print (response.status_code)

def timer(n):
    while True:
        cunhuo(871958)  # 获取用户信
        time.sleep(n)



if __name__ == '__main__':

     dlogin()
     # timer(10)  # 存活
    # print("dep_id:", dep_id)
    # print("doc_id:", doc_id)
    # print("pat_id:", pat_id)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/591007.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

富文本编辑器 iOS

https://gitee.com/klkxxy/WGEditor-mobile#wgeditor-mobile 采用iOS系统浏览器做的一款富文本编辑器工具。 原理就是使用WKWebView加载一个本地的一个html文件,从而达到编辑器功能的效果! 由于浏览器的一些特性等,富文本编辑器手机端很难做…

【开源物联网平台】window环境下搭建调试监控设备环境

🌈 个人主页:帐篷Li 🔥 系列专栏:FastBee物联网开源项目 💪🏻 专注于简单,易用,可拓展,低成本商业化的AIOT物联网解决方案 目录 一、使用docker脚本部署zlmediakit 1.1 …

WebDriver使用带用户名密码验证的IP代理解决方案

背景,使用python3 selenium 先定义一个方法,这里主要用到了chrome插件的功能,利用这个插件来放进代理内容。 def create_proxy_auth_extension(proxy_host, proxy_port,proxy_username, proxy_password, schemehttp):manifest_json "…

【HAL库 STM32】输入捕获并实现超声波测距

文章目录 HC-SR04 超声波模块简介HC-SR04 工作原理如何使用HC-SR04模块程序效果 一、工程配置代码如果您发现文章有错误请与我留言,感谢 HC-SR04 超声波模块简介 HC-SR04 工作原理 模块有2个超声波换能器(如图所示),一个发出声波…

Spark Stream

一、Spark Streaming是什么 Spark Streaming 用于流式数据的处理。Spark Streaming 支持的数据输入源很多,例如:Kafka、Flume、Twitter、ZeroMQ 和简单的 TCP 套接字等等。数据输入后可以用 Spark 的高度抽象原语如:map、reduce、join、wind…

基于SSM SpringBoot vue教务排课系统

基于SSM SpringBoot vue教务排课系统 系统功能 登录 个人中心 学生信息管理 教师信息管理 课室信息管理 班级信息管理 系别信息管理 专业信息管理 课程信息管理 选课信息管理 课表信息管理 开发环境和技术 开发语言:Java 使用框架: SSM(Spring SpringMVC Myba…

✔ ★Java大项目——用Java模拟RabbitMQ实现一个消息队列(二)【创建核心类、封装数据库操作】

✔ ★Java大项目——用Java模拟RabbitMQ实现一个消息队列 四. 项⽬创建五. 创建核⼼类 ★创建 Exchange(名字、类型、持久化、自动删除、参数)创建 MSGQueue(名字、持久化、独占标识)创建 Binding(交换机名字、队列名字…

pymeshlab加载物体、创建UV映射(基于平面投影)、创建并保存UV纹理和物体模型

一、关于环境 请参考:pymeshlab遍历文件夹中模型、缩放并导出指定格式-CSDN博客 二、关于代码 本文所给出代码仅为参考,禁止转载和引用,仅供个人学习。本文所给出的例子是https://download.csdn.net/download/weixin_42605076/89233917中的…

MySQL45讲(一)(40)

回顾binlog_formatstatement STATEMENT 记录SQL语句。日志文件小,节约IO,但是对一些系统函数不能准确复制或不能复制,如now()、uuid()等 在RR隔离级别下,binlog_formatstatement 如果执行insert select from 这条语句是对于一张…

uniapp 自定义相机插件(组件版、缩放、裁剪)组件 Ba-CameraView

自定义相机插件(组件版、缩放、裁剪) Ba-CameraView 简介(下载地址) Ba-CameraView 是一款自定义相机拍照组件,支持任意界面,支持裁剪 支持任意自定义界面支持手势缩放支持裁剪(手势拖动、比…

35.Docker-数据卷,目录挂载

注意:在容器内修改文件是不推荐的。 1.修改不方便,比如vi命令都无法使用。 2.容器内修改,没有日志记录的。 问题:那应该如何修改容器中的文件呢? 数据卷 volume是一个虚拟目录,指向宿主机文件系统中的…

Python量化炒股的获取数据函数—get_index_stocks()

Python量化炒股的获取数据函数—get_index_stocks() 利用get_industry_stocks()函数可以获取在给定日期一个行业的所有股票代码列表,其语法格式如下: get_industry_stocks(industry_code, dateNone)各项参数的意义 参数date和返回值,都与g…

【海博】雅思该怎么练?

文章目录 前言 备考计划 模拟考试 参考资料 前言 见《【海博】浅析海博深造》 见《【海博】雅思和托福该考哪个?》 见《【海博】雅思该怎么考?》 见《【海博】雅思考什么?》 备考计划 第一周确定你的目标考试分数。 做一套雅思模拟试题&…

头歌:RDD的创建 - Python

第1关:集合并行化创建RDD 任务描述 本关任务:编写一个集合并行化创建RDD的程序。 相关知识 为了完成本关任务,你需要掌握:1.如何使用集合并行化创建一个Spark RDD 。 什么是 RDD RDD(Resilient Distributed Dataset&…

MLP手写数字识别(1)-MNIST数据集下载与可视化(tensorflow)

1.下载与查看MNIST数据集 from keras.datasets import mnist(x_train_image,y_train_label),(x_test_image,y_test_label) mnist.load_data() print("train images:",x_train_image.shape) print("test images:",x_test_image.shape) print("train …

【how2j Vue部分】两种在Vue的Ajax框架——fetch axios

fetch.js 和 axios.js 都是 Vue 中比较常见的两种ajax框架 1. fetch.js 一般说来 Vue 不会直接使用原生的 Ajax 而是使用 ajax 框架。 而 fetch.js 就是眼下比较流行的一种 ajax 框架 1. 准备 json数据:var url "https://gitee.com/api/v5/users/liyangyf&…

深入 Django 模型层:数据库设计与 ORM 实践指南

title: 深入 Django 模型层:数据库设计与 ORM 实践指南 date: 2024/5/3 18:25:33 updated: 2024/5/3 18:25:33 categories: 后端开发 tags: Django ORM模型设计数据库关系性能优化数据安全查询操作模型继承 第一章:引言 Django是一个基于Python的开源…

Docker - 修改服务的端口

1. 测试 新建一个httpd服务 docker run -itd -p 1314:80 --name test -h test httpd 2. 先停止容器和 docke r服务 docker stop test #停止容器3. 修改配置 cd /var/lib/docker/containers ls 找到需要修改的 cd 1fc55f0d24014217cff68c9a417ca46cf50312caa5c9e6bb24085126…

【51蛋骗鸡595点阵88数码管流水灯综合应用】2021-12-30

缘由51单片机变量进阶与点阵LED-嵌入式-CSDN问答 大佬们 求解单片机点亮点阵程序 被困3天了一直想不明白 - 24小时必答区 #include<reg52.h>//头文件sbit shcpP1^2;//数据输入时钟线 595的11脚 sbit stcpP1^1;//输出存储器锁存时钟线 595的12脚 sbit dsP1^0;//数据线 5…

在2-3-4树上实现连接与分裂操作的算法与实现

在2-3-4树上实现连接与分裂操作的算法与实现 引言1. 维护2-3-4树结点的高度属性伪代码示例 2. 实现连接操作伪代码示例 3. 证明简单路径p的划分性质4. 实现分裂操作伪代码示例 C代码示例结论 引言 2-3-4树是一种平衡搜索树&#xff0c;它保证了树的高度被有效控制&#xff0c;…