news 2026/5/14 21:46:05

医院预约挂号脚本

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
医院预约挂号脚本

医院预约挂号脚本

功能介绍

本脚本是一个用 Python 编写的医院预约挂号程序,支持以下功能:

  1. 自动预约:通过api交互选择医院、科室、医生和时间段。
  2. 自动监控:持续检查指定医生的号源状态,发现可预约时段时自动尝试预约。

核心代码解析

1. 主程序 (main.py)

# -*- coding: utf-8 -*-importtimefromschemaimportAddRegArgs,DeptSchForDocArgs,DocSchArgs,NumberSourceArgsfromapiimportApidefappointment():""" 预约程序入口,通过命令行交互完成挂号 """api=Api()hospitals=api.get_hospital()print("请选择院区,输入院区前方序号")forindex,hospitalinenumerate(hospitals):print("{}):{}".format(index,hospital["aliasName"]))hospital_index=int(input("请输入院区序号:"))hospital=hospitals[hospital_index]# 后续科室、医生、时间选择逻辑...# 完整代码见 a.txtdefmonitor():""" 每10秒检查一次号源状态,发现可预约时段时自动尝试预约 """whileTrue:try:# 检查号源状态doc_schDate=api.get_doc_sch(args)iflen(doc_schDate)>0:# 尝试自动预约response=api.add_reg(args)ifresponse["code"]=="0":print("预约成功!")exceptExceptionase:print(f"程序异常:{e}")time.sleep(10)if__name__=="__main__":monitor()

2. 数据模型 (schema.py)

# -*- coding: utf-8 -*-frompydanticimportBaseModelfromtypingimportUnionclassHospitalArgs(BaseModel):sysCode:Union[str,int]="1001035"classDeptListArgs(BaseModel):clinicalType:str=1hosId:intsysCode:Union[str,int]="1001035"classDeptSchForDocArgs(BaseModel):clinicalType:str=1deptCode:str=NonedeptId:str=deptCode specialtyId:str=NonedeptName:strvisitingArea:strhosId:intrecommendation:str=""type:str="order"source:int=22sysCode:Union[str,int]="1001035"defupdate(self):self.deptId=self.deptCodeclassDocSchArgs(BaseModel):deptId:strdeptName:strdocId:strdocName:strdocTitle:strdocPhoto:strhosId:inthosName:strtype:str="order"visitingArea:str=""clinicalType:str=1source:int=22sysCode:Union[str,int]="1001035"classNumberSourceArgs(BaseModel):sysCode:Union[str,int]="1001035"ampm:strcategor:strdocId:strdeptId:strhosId:Union[str,int]schDate:strschId:strclassAddRegArgs(BaseModel):# key不一致参数disNo:str=NoneschDate:str=NonepatienId:str=None# 必须参数clinicalType:str=1visitingArea:str=""ampm:strappointmentNumber:str=disNo categor:strcategorName:strdeptId:strdeptName:strdocId:strdocName:strendTime:str=""extend:str=""fee:strhosId:Union[str,int]hosName:strisFlexible:str=""numId:str=""patientId:str=patienId resDate:str=schDate schId:strsource:int=22startTime:str=""sysCode:Union[str,int]="1001035"thirdUserId:str=""timeDesc:strtimePoint:str=""schQukCategor:strdefupdate(self):self.appointmentNumber=self.disNo self.resDate=self.schDate self.patientId=self.patienId

3. 配置文件 (conf.ini)

[**省中医院] host = https://www.rjh.com.cn/ deskey = wewerwe username = 你的账号 password = 你的密码 token = token

使用说明

  1. 运行环境

    • Python 3.6+
    • 依赖库:pydanticrequests
  2. 启动方式

    python main.py
  3. 配置说明

    • 修改conf.ini中的账号和医院配置
    • 支持直接使用 token 登录

实现细节

  1. 字典展开语法

    all_args={**dept,**hospital}args=DeptSchForDocArgs(**all_args)
  2. 异常处理

    • 捕获网络请求异常
    • 支持 Ctrl+C 中断程序
  3. 定时检测

    • 每10秒检测一次号源
    • 预约成功后等待10分钟

提示:部分代码,已脱敏,本脚本仅用于学习交流,请勿滥用。欢迎感兴趣的同学一起交流!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/10 16:29:02

Web自动化测试

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快一、什么是web自动化测试自动化(Automation)是指机器设备、系统或过程(生产、管理过程)在没有人或较少人的直接参与下…

作者头像 李华
网站建设 2026/5/6 18:21:43

食品X光机:AI与双能成像如何提升异物检测精度

在食品工业范畴之内、检测精度属于衡量一台食品X光机核心价值的最为关键的指标。对于能否有效剔除产品之中微小的金属、玻璃、石子、骨头甚至高密度塑料等异物这一情况、它直接产生关联。伴随全球食品安全的严实监管以及消费者所拥有的对“零容忍”异物的期望、市场对于高精度检…

作者头像 李华
网站建设 2026/5/6 22:43:36

YouCompleteMe:让Vim成为你的智能编程伙伴

YouCompleteMe:让Vim成为你的智能编程伙伴 【免费下载链接】YouCompleteMe 项目地址: https://gitcode.com/gh_mirrors/you/YouCompleteMe 在当今快节奏的开发环境中,智能代码补全已经成为提升编程效率的关键工具。YouCompleteMe(简称…

作者头像 李华
网站建设 2026/5/13 0:07:34

无人机巡检终极指南:CuPy GPU加速实现毫秒级图像处理完整方案

无人机巡检终极指南:CuPy GPU加速实现毫秒级图像处理完整方案 【免费下载链接】cupy cupy/cupy: Cupy 是一个用于 NumPy 的 Python 库,提供了基于 GPU 的 Python 阵列计算和深度学习库,可以用于机器学习,深度学习,图像…

作者头像 李华
网站建设 2026/5/11 9:40:38

38、高级模型/视图编程与应用国际化

高级模型/视图编程与应用国际化 1. 树状结构中的表格数据表示 理解树状模型比理解表格模型(或列表模型,列表模型可看作单列表格)更具挑战性。不过,在许多情况下,可以借助或修改相关代码来降低难度。 PyQt 内置的视图小部件和图形视图小部件为数据集的可视化提供了很大的…

作者头像 李华
网站建设 2026/5/11 9:40:31

Python--常量和变量

目录 1.常量和表达式 2.变量和类型 2.1变量是什么 2.2变量的语法 2.3变量的类型 2.4动态类型特性 1.常量和表达式 我们可以把Python 当成一个计算器, 来进行一些算术运算print(1 2 - 3) print(1 2 * 3) print(1 2 / 3) 注意: print 是一个 Python 内置的函数, 这个稍后…

作者头像 李华