V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
iiibreaker
V2EX  ›  Python

撸了个预约挂号统一平台脚本

  •  2
     
  •   iiibreaker · 2019-03-29 22:30:25 +08:00 · 3325 次点击
    这是一个创建于 2068 天前的主题,其中的信息可能已经有所发展或是发生改变。

    请不要将本程序用于盈利目的

    北京市预约挂号统一平台脚本

    Copyright (C) 2019

    目前稳定版已经发布,欢迎吐槽和试用

    • 本程序用于 北京市预约挂号统一平台 的挂号,只支持北京地区医院的挂号。
    • 挂号是刚需。帝都有些医院号源紧张,放号瞬间被秒杀一空,遂产生了撸一脚本挂号的念头。说干就干,简单的分析和调试后于 16 年 8 月份左右产出第一版,顺利挂上了 XXX 院运动医学科的号。很开心。
    • 17 年 2 月底的时候,朋友也需要挂一个号,脚本给他改了改,貌似删了重写的?没有仔细看。经过精心的分析和调试,挂了一个专家号。很开心。
    • 17 年 3 月 8 号,两位热心网友 github 上发起 issues,提出反馈,让我很意外。本来想着这脚本自己写着用就可以了。接到反馈后觉得可以写成一个成熟的软件了。两位热心网友也主动提出改进代码的愿望。很开心。
    • 还看什么看,来贡献代码 ;-)

    2017-03-08 17:12:20 breaker

    环境

    正式版已经不支持 python2 环境,请使用 python3 运行本程序

    • Python3

    使用方法

    1. 安装依赖库,例如:pip install --user -r requirements.txt
    2. 修改配置文件
    3. 运行命令:

    Android QPython3 使用方法

    1. 安装 QPython3QPython
    2. 安装 QPy3.6 并运行(会安装 Python 3.6 )
    3. 在 QPython3 中将版本切为 Python 3.6 (默认为 Python 3.2 )
    4. 修改配置文件(config.yaml或自定义)
    5. 由于 QPython3 不支持传参,如需指定配置文件,需手动修改qpython3_run.py中的config_name配置文件名
    6. 将整个项目复制到你的 Android
    7. 在 QPython3 中运行qpython3_run.py

    备注:

    • 若配置文件不在项目目录,也可修改qpython3_run.py中的config_path为配置文件的绝对地址
    • 如需以项目的形式直接运行脚本,可以将qpython3_run.py改名为main.py,并将文件夹放置在qpython/projects3/
    • 也可将文件夹放置在qpython/scripts3/下,而后为qpython3_run.py建立桌面快捷方式。

    Windows 环境使用方法

    1. 新增了 windows 版本的 exe 文件
    2. 把配置文件放在 exe 文件同目录
    3. 修改配置文件
    4. 双击 exe 开始挂号,成功后程序自动退出

    配置文件

    默认配置文件 config.yaml

    
    # username: 您的的用户名(一般是手机号码)
    username: "13888888888"
    
    # password: 密码
    password: "*****"
    
    # date: 挂号日期
    date: "2018-01-01"
    
    
    # hospitalId: 医院 id
    hospitalId: "162"
    
    # departmentId: 科室 id
    departmentId: "200002248"
    
    # 关于如何获取 hospitalId 和 departmentId
    # 1. 打开挂号页面
    # 2. 假设地址栏中地址是 http://www.bjguahao.gov.cn/dpt/appoint/162-200002248.htm
    # 3. 其中 162 是 hospitalId
    # 4. 其中 200002248 是 departmentId
    
    
    # 需要挂早上的号请填写 1  需要挂下午的号请填写 2
    dutyCode: "1"
    
    # patientName: 患者姓名
    # 若是自己挂号可为空
    patientName: "曹操"
    
    # doctorName: 医生姓名
    # 不填写的话默认选最好的医生
    # 填写后若这个医生没有号,会自动选其余号中最好的医生
    doctorName: "华佗"
    
    # DebugLevel: 调试等级
    # 支持的调试等级有 debug/info/warning/error/critical
    DebugLevel: "info"
    
    #使用 ios 短信和 mac 电脑接收验证码
    useIMessage: "false"
    
    # 是否使用 QPython3.6 运行本脚本
    useQPython3: "false"
    

    文档

    文档 中有比较详细的接口分析和装包。

    ChangeLog release 版本更新内容

    挂号攻略

    攻略 中有详细的挂号攻略, 感谢@lily0101提供

    调试

    开发者请将config.yaml配置文件中的DebugLevel参数设置为debug

    加入我们

    在使用过程中有任何问题建议,或者贡献代码,请加入交流群

    image

    致谢

    感谢 yiqian987 修改 issues#27

    感谢 coeusite 支持 android 挂号 pull#56

    感谢 cuteapi 添加 iphone mac 验证码自动获取的功能,抢号神器哦

    若遗漏了您,请发邮件通知我 [email protected]

    协议

    bjguahao 基于 GPL-3.0 协议进行分发和使用,更多信息参见协议文件。

    5 条回复    2019-06-11 11:35:39 +08:00
    iiibreaker
        1
    iiibreaker  
    OP
       2019-03-29 22:44:20 +08:00
    iiibreaker
        2
    iiibreaker  
    OP
       2019-03-30 18:41:11 +08:00
    大家竟然只搜收藏不回复 。。桑心
    myquestions
        3
    myquestions  
       2019-04-09 09:36:57 +08:00   ❤️ 1
    挺好的项目
    iiibreaker
        4
    iiibreaker  
    OP
       2019-04-15 22:57:03 +08:00
    @myquestions 多谢
    enaxm
        5
    enaxm  
       2019-06-11 11:35:39 +08:00
    支持~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1038 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 20:37 · PVG 04:37 · LAX 12:37 · JFK 15:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.