撸了个预约挂号统一平台脚本 - V2EX
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 3916 次点击
    这是一个创建于 2468 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    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     Solana     3164 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 04:37 PVG 12:37 LAX 20:37 JFK 23:37
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86