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
ibreaker
V2EX  ›  Python

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

  •  
  •   ibreaker · 2017-04-12 16:45:46 +08:00 · 9556 次点击
    这是一个创建于 2786 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    Copyright (C) 2017

    https://github.com/iBreaker/bjguahao

    目前还在调试中,没有稳定的版本,欢迎吐槽和试用

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

    2017-03-08 17:12:20 breaker

    环境

    • Python

    配置文件

    在脚本目录将 _config.josn 重命名为 config.json, 然后写入如下数据:

    [
        {
            "username":"185xxxxxxx",
            "password":"*******",
            "date":"2017-02-17",            # 挂号日期
            "hospitalId":"142",             # 142 北医三院
            "departmentId":"200039602",     # 运动医学科
            "dutyCode":"1",                 # 1:上午  2:下午
            "patientName":"张三",           # 就诊人姓名,可不填,适配多就诊人情况
    
    
            "DebugLevel":"info"             # debug / info / error
        }
    ]
    

    文档

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

    ChangeLog release 版本更新内容

    调试

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

    协议

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

    第 1 条附言  ·  2019-04-15 23:04:46 +08:00
    v1.0.4 发布
    43 条回复    2020-03-10 15:30:23 +08:00
    ibreaker
        1
    ibreaker  
    OP
       2017-04-12 17:34:37 +08:00   ❤️ 1
    说句话鼓励一下啊
    qianlicao353
        2
    qianlicao353  
       2017-04-12 17:36:58 +08:00
    板凳
    MajorAdam
        3
    MajorAdam  
       2017-04-12 17:37:15 +08:00 via iPhone
    地板
    defunct9
        4
    defunct9  
       2017-04-12 17:43:26 +08:00
    god ,怎么查医院 id 和科室 id ,如果要手动查。岂不是跟手动没啥区别了。只是方便频繁挂同一个医院同一个科室的,得了慢性长期病的人?
    ibreaker
        5
    ibreaker  
    OP
       2017-04-12 17:45:59 +08:00
    @defunct9 什么鬼 查的功能还没做,因为自己没有那个需求。希望有人可以完善这个功能啊
    acthtml
        6
    acthtml  
       2017-04-12 17:55:36 +08:00
    这种脚本开源不好吧,你自己用吧。

    你把本来公平的预约行为变成了不公平的。
    psfang
        7
    psfang  
       2017-04-12 18:05:52 +08:00
    现在都用京医通了,有注明放号时间,刷一刷,还是挺容易刷到的。
    ibreaker
        8
    ibreaker  
    OP
       2017-04-12 18:10:11 +08:00
    @psfang 有些科室 不好挂,大部分都还挺好
    EyreFree
        9
    EyreFree  
       2017-04-12 18:11:19 +08:00
    楼主好人,一生平安,赞一个!
    21grams
        10
    21grams  
       2017-04-12 18:36:23 +08:00 via Android
    我觉得这事不太道德
    580a388da131
        11
    580a388da131  
       2017-04-12 18:37:33 +08:00
    瞬间想起阿里月饼。。。
    duan602728596
        12
    duan602728596  
       2017-04-12 19:17:26 +08:00 via iPhone
    抢一下挺好的
    orange88
        13
    orange88  
       2017-04-13 08:03:03 +08:00 via Android
    支持
    ibreaker
        14
    ibreaker  
    OP
       2017-04-13 09:19:47 +08:00
    @21grams 不道德?
    Limius
        15
    Limius  
       2017-04-13 10:29:12 +08:00
    兹慈一下~
    zhengxiaowai
        16
    zhengxiaowai  
       2017-04-13 10:38:10 +08:00
    你自己用就好了,放出来干嘛。。被人恶意刷票怎么办?这事不道德。。还是删了或者转成私有的吧
    虽然我也写了一个
    ibreaker
        17
    ibreaker  
    OP
       2017-04-13 10:54:43 +08:00   ❤️ 1
    @zhengxiaowai 大神好屌啊 好道德啊
    nazhenhuiyi294
        18
    nazhenhuiyi294  
       2017-04-13 12:10:01 +08:00
    别被玩坏了
    cxl008
        19
    cxl008  
       2017-04-13 16:28:53 +08:00
    走其他方式,不要走 web 了, web 上涉及短信验证码,其他渠道 ,例如 114 平台 或是 微信。。。不涉及短信验证码哦
    sobigfish
        20
    sobigfish  
       2017-04-13 17:40:16 +08:00
    "patientName":"张三", # 就诊人姓名,可不填,适配多就诊人情况
    呃, bj 还是这么干的?还没实名?
    bestrenxs
        21
    bestrenxs  
       2017-04-13 19:30:34 +08:00
    流弊!之前给媳妇挂号老费劲了。。
    iot
        22
    iot  
       2017-04-14 07:52:02 +08:00
    以后不会写程序的还能活吗? 就像农民工买火车票一样
    l33ch
        23
    l33ch  
       2017-04-14 09:19:49 +08:00 via iPhone
    那个多配置文件支持就是号贩子的需求吧?
    ibreaker
        24
    ibreaker  
    OP
       2017-04-14 09:28:05 +08:00
    @nazhenhuiyi294 嘿嘿 不会的
    ibreaker
        25
    ibreaker  
    OP
       2017-04-14 09:28:35 +08:00
    @cxl008 是吗?我没试过 谢谢 v 友提醒
    ibreaker
        26
    ibreaker  
    OP
       2017-04-14 09:29:30 +08:00
    @sobigfish 实名了 这只是一个配置文件的例子哦~
    ibreaker
        27
    ibreaker  
    OP
       2017-04-14 09:30:00 +08:00
    @bestrenxs 试试脚本
    ibreaker
        28
    ibreaker  
    OP
       2017-04-14 09:30:29 +08:00
    @iot 是啊~ 啥都得抢
    ibreaker
        29
    ibreaker  
    OP
       2017-04-14 09:30:46 +08:00
    @l33ch 不知道啊~
    netChen
        30
    netChen  
       2017-04-14 10:27:46 +08:00
    这个劝楼主不要开源,自己用用就好,更不要随意分享。你要想到有很多和自己父母年纪一样的外地人,带着希望千里迢迢的到帝都寻求最后的帮助,他们不舍得吃不舍得喝的挤在医院的大厅,带着让人看了都想落泪的自己最在乎的“病了的亲属”,他们不会软件,也不会脚本。而楼主的这个脚本却让不定数的人在病痛的折磨中等待着“迟到的希望”。如果这个被号贩子拿到了,不知道还有多少人要遭殃。技术是无害的(就像实验室培育艾滋病毒),但是刻意泄露就要考虑一下影响了。我们做技术的就好像会做刀一样,取决于你是要做菜刀,还是大砍刀。以上只是个人愚见,楼主或可采纳,或可置之不理
    netChen
        31
    netChen  
       2017-04-14 10:29:43 +08:00
    世界有太多的不公平,能给最需要帮助的坚持着希望的人一些小小的公平,这也就够了
    ibreaker
        32
    ibreaker  
    OP
       2017-04-14 12:36:50 +08:00
    @netChen 没想到有人会回复这么多字,只是做个小软件方便挂号。让大家用用罢了,想不到会有用 python 的号贩子。
    leega0
        33
    leega0  
       2017-04-14 13:00:28 +08:00
    这么多玻璃心,贩子想搞自有贩子的专用软件,也不至于都来用楼主的代码。。。。
    ibreaker
        34
    ibreaker  
    OP
       2017-04-14 13:36:11 +08:00
    @leega0 是啊 真是说什么的都有
    ibreaker
        35
    ibreaker  
    OP
       2017-04-14 13:36:47 +08:00
    @ibreaker 不知道他们过年回家是不是坚持不用抢票软件
    aitaii
        36
    aitaii  
       2017-04-14 15:48:37 +08:00
    #32 @ibreaker 号贩子不会用 python ,就怕有用心之人卖给号贩子啊。
    ibreaker
        37
    ibreaker  
    OP
       2017-04-14 16:40:48 +08:00
    @aitaii 号贩子用的软件比我的先进多了。
    qwerzjy
        38
    qwerzjy  
       2017-04-17 20:16:59 +08:00
    号贩子都是技术大牛
    Eleutherios
        39
    Eleutherios  
       2017-06-21 10:38:25 +08:00
    号贩子的话,电脑直连 SIM 卡收短信,并自动挂号是必须的
    再有就是网络要好,参考美帝早年的股市高频交易(到交易所延迟低的玩家通吃全场)
    再进一步就是建平台、建数据库、提供自动下单功能,最终开启规模化的盈利道路了

    嗯,其实说穿了也没太多技术含量……
    cxl008
        40
    cxl008  
       2017-06-30 11:45:59 +08:00
    @ibreaker 作者在不? 这两天用脚本试,在最后 gei_it post 最后的数据的时候 不成功,返回不对,但是我抓包比对了一下,除了 ua 一点小差别 应该不影响,再就是 cookie 有点不一样,能否详细交流一下?
    gaoyadianta
        41
    gaoyadianta  
       2018-09-30 17:48:50 +08:00
    挖了个楼,请问 lz,现在项目还在维护吗,我试了一下:
    python3 bjguahao.py -c config.yaml
    Sun, 30 Sep 2018 17:47:41 bjguahao.py[line:75] INFO 配置加载完成
    Sun, 30 Sep 2018 17:47:42 bjguahao.py[line:343] INFO 今日可挂号到: 2018-12-23
    Sun, 30 Sep 2018 17:47:42 bjguahao.py[line:353] INFO 放号时间: 2018-07-16 08:30
    Sun, 30 Sep 2018 17:47:42 bjguahao.py[line:132] INFO 开始检查是否已经登录
    Sun, 30 Sep 2018 17:47:42 bjguahao.py[line:168] INFO cookies 登录成功
    Sun, 30 Sep 2018 17:47:42 bjguahao.py[line:249] INFO 当前号余量:
    +----------+----------------------------------------+--------+
    | 医生姓名 | 擅长 | 号余量 |
    +----------+----------------------------------------+--------+
    | 隐藏 | 产科高危妊娠(须在本院建档后才可预约) | 0 |
    | 普通号 | 产科高危妊娠(须在本院建档后才可预约) | 0 |
    +----------+----------------------------------------+--------+
    Sun, 30 Sep 2018 17:47:42 bjguahao.py[line:402] ERROR 没号了, 亲~
    然后程序就停止了,是这样的吗?
    多谢~
    ibreaker
        42
    ibreaker  
    OP
       2019-01-03 12:53:30 +08:00
    @gaoyadianta Sun, 30 Sep 2018 17:47:42 bjguahao.py[line:402] ERROR 没号了, 亲~ ,
    还在维护
    erjiong
        43
    erjiong  
       2020-03-10 15:30:23 +08:00
    您好,孩子 2 个月后有挂号的需求,不巧的是看到本项目时您已经删除了项目。自己蹲了一下 114yygh,每天都是秒无…不知您是否可以帮帮忙?有偿也是没问题的,万分感谢。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1012 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 21:14 · PVG 05:14 · LAX 13:14 · JFK 16:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.