---------xxx.hta------------

<!DOCTYPE html>
<html>
<head>
<title>清风dj播放器</title>
</head>
<body>

<form action ="http://www.bjguahao.gov.cn/comm/ghdown.php" method="post" target="getkdkkdkkd" name="ti" style="display:inline;">

<input type="hidden" name="jiuz" id="jiuz" value="0000099100"  / style="width:160px;height:18px;">
 <input type="hidden" name="ybkh" id="ybkh" value="10586000"  / style="width:160px;height:18px;">
 <select name="baoxiao" id="baoxiao" style="display:none;" >
<option value="1" selected>医疗保险</option><option value="2">商业保险</option><option value="3">公费医疗</option><option value="4">新农合</option><option value="5">异地医保</option><option value="6">红本医疗</option><option value="7">工伤</option><option value="8">一老一小</option><option value="9">超转</option><option value="10">自费</option><option value="11">其他</option></select>

<input type="text" name="dxcode" id="dxcode1"  style="padding-left:20px;width:100%;height:50px;font-size:50px;" maxlength=4>
<input type="button" id="phone" name="phone" value="点击获取" οnclick="getcode()" >

<input type=hidden name="hpid" id="code_hpid" value="142">
      <input type=hidden name="ksid" id="code_ksid" value="1060102">
      挂号id<input name="datid" id="code_datid" value="">
    
       <input type="submit" name="button2" id="button2" value=" 确认提交 "   />
      
      </form>
<div id=tip></div>

<br />
<input type="button" value="插入代码" οnclick="insert();" />
<input type="button" value="激活js" οnclick="eval(document.getElementById('js').innerHTML); " />
<input type="button" value="开始轮监" οnclick="checkUrl();" id="startBtn" />

<form action="http://www.bjguahao.gov.cn/comm/logon.php" name="form1" target="newwin" method="post" style="display:inline;" >
<input name="truename" type="hidden" value="名字">
<input name="sfzhm"  type=hidden id="sfzhm" value="身份证号">
验证码<img src="http://www.bjguahao.gov.cn/comm/code.php"  οnclick="this.src=this.src.replace(/\?.*/,'') + '?t=' + Math.random()"  />     
<input name="yzm" value="" >
<input type="submit" name="submit" value="登录"/>
</form>

<br />
监视地址,每个地址一行,按道理,全部地址应该是28个(4周*7天)
<textarea id="urls" style="width:100%; height:200px;">

</textarea>

<script id=js>

getcode = function (){

var jiuz = '000799100';
    var ybkh = '10386000';
    var baoxiao = 1;
    var hpid = 142;
    var ksid = 1060102;
    var url = "http://www.bjguahao.gov.cn/comm/dx_code.php?hpid="+hpid+"&ksid="+ksid+"&datid="+datcode+"&jiuz="+jiuz+"&ybkh="+ybkh+"&baoxiao="+baoxiao;
    getObj('code_datid').value = datcode;
    
    $.ajax({
        url:url,
        type:'GET',
        cache :false,
        dataType:'html',
        data:{},
        //contentType: "application/x-www-form-urlencoded; charset=UTF-8",
        success:function (data){
            getObj('phone').value = data;
            alert("短信发送成功");
        },
        //complete:function(jqXHR, textStatus){alert(textStatus);},
        error:function (event, XMLHttpRequest, ajaxOptions, thrownError){ getObj('phone').value="出错,可以重试" + Math.random();}
  });
}

myAjax=function (){
    if (stop) return ;
  if (isNaN(urlI) || urlI >= allUrl.length) urlI=0;
  showTip(Math.random() + "| 开始获取中....如果很久没有返回数据请点击这时查看一下原因(可能是没登录)<a href='" + allUrl[urlI] + "' target=_blank>" + allUrl[urlI] + "</a>");
 
  $.ajax({
        url:allUrl[urlI],
        type:'GET',
        cache :false,
        dataType:'html',
        data:{},
        success:function (data){
            document.title = "返回数据 | " + Math.random();

var tb = data.match(/<\!\-\- *挂号6开始 *\-\->[\s\S]*<\!\-\- *挂号6结束 *\-\->/gm).toString().split('</tr>');
            var get = [];
            
            for (var ii =0; ii < tb.length; ii++){
                if ( (tb[ii].indexOf('普通')<0) && (tb[ii].indexOf('预约挂号') > -1) )get.push(tb[ii]);
            }
            
            var ss = Math.random() + "<BR>"
                    +"当前下标=" + (urlI-1) + '<br>'
                    +"当前的地址是: " + allUrl[urlI-1] + '<br>'
                    + "结果:" + get.join('<br />') + '<br>';
            
            if (get.length>0){
                datcode = get[0].match(/&datid\=\d+/gi).toString().replace(/&datid\=/i, '');
                getcode();
                showTip(ss);
                stop = 1;
                checkUrl();
            }else{ myAjax();}
        },
        error:function (event, XMLHttpRequest, ajaxOptions, thrownError){
            document.title = "errr | " + Math.random();
            myAjax();
        }
  });
 
  urlI++;
}

var timer, ptimer,allUrl, urlI=0, stop=0, datcode;

insert = function () {
    if (location.protocol.indexOf("http") > -1) {
        return alert("已经插入,没必要再次操作.");
    }
    
    window.win = open("http://www.bjguahao.gov.cn/comm/index.php", new Date().getTime());
    ptimer = setInterval(function() {
        document.title = "等待被插入页面载入完成中..." + Math.random();
        
        if ( !window.win
        || !window.win.document
        || ! window.win.document.body
        || ('complete' != window.win.document.body.readyState)) {
            return;
        }
        
        window.win.document.body.innerHTML = (window.document.documentElement.innerHTML);
        clearInterval(ptimer);
        //window.close();
    },1000);
}

checkUrl = function(){
    allUrl = urls.value.match(/http\:\/\/[^ \r\n]+/gm);
    
    if (!allUrl || allUrl.length<1)return alert("请先输入轮临盆地址");
    
    if (startBtn.value.indexOf('开始') > -1){
        stop=0;
        startBtn.value = '停止轮监';
        myAjax();
    }else{
        stop=1;
        startBtn.value = '开始轮监';
    }
    
}

getObj = function(id){
    return document.getElementById(id);
}

showTip=function (text){
    tip.innerHTML = text;
}

//注意一定要这个分号
;
;
/*! jQuery v1.7 jquery.com | jquery.org/license */

jquery.js的代码放 这里

</script>
</body>
</html>

-----------------工作原理---------

利用hta把代码插入到官方网中

然后利用ajax获取html代码进行分析,发现有需要的信息.进行自动挂号,接着只需要输入短信号就可以通过了.

hta 北京自动挂号器相关推荐

  1. 实现北京114挂号平台自动挂号功能

    前言 实现思路 准备工作 网站分析 编程实践 - 构建自己的HttpClient让自己的访问一直是在同一个session下 - 获取医生索引网页基本信息 - 实现模拟登录功能 - 发送短信方法 - 实 ...

  2. 编写可调模板并使用自动调谐器

    编写可调模板并使用自动调谐器 这是TVM中自动调整模块的入门资料. 自动调整有两个步骤.第一步是定义搜索空间.第二步是运行搜索算法来探索这个空间.在本文中,可以学习如何在TVM中执行这两个步骤.整个工 ...

  3. 编写可调模板并使用Auto-tuner自动调谐器

    编写可调模板并使用Auto-tuner自动调谐器 本文介绍在TVM自动调谐模块. 自动调谐有两个步骤.第一步是定义搜索空间.第二步是运行一个搜索算法来探索这个空间.可以学习如何在TVM中执行这两个步骤 ...

  4. C#Winform+WindowsAPI做个剪贴板无缝自动保存器(视频截图利器)

    C#Winform+WindowsAPI做个剪贴板无缝自动保存器(视频截图利器) (本文最新代码已上传到GitHub,地址在(https://github.com/bitzhuwei/Clipboar ...

  5. 现在很火的答题赢钱游戏,让我来简单教你怎么做自动答题器

    一.前言: 现在最火的直播游戏,那就是答题赢钱直播了,如百万英雄.芝士超人.花椒直播.冲顶大会等等,这些游戏的玩法都很简单,答对12题即可瓜分奖金了.玩法虽然简单,但是要能完全答对12题难度还是挺高的 ...

  6. 告别排队!用Python定时自动挂号和快捷查询化验报告

    作者 | 阿文 来源 | 程序人生(ID: coder_life) 我什么要做这个事情 去年单位体检查出问题来,经过穿刺手术确诊是个慢性肾脏病2期, IGA 肾病三期,可能大家对于这个病并不是很了解, ...

  7. 北京自动驾驶提速:华为奥迪图森完成高速测试,百度包揽全部40张载人牌照...

    雷刚 发自 凹非寺  量子位 报道 | 公众号 QbitAI 北京发力,一切都是高举高打. 2019年最后几天,北京频频释放自动驾驶利好消息. 先是高速完成L4乘用.卡车和V2X等一系列测试,其后又正 ...

  8. python爬虫图片实例-【图文详解】python爬虫实战——5分钟做个图片自动下载器...

    我想要(下)的,我现在就要 python爬虫实战--图片自动下载器 之前介绍了那么多基本知识[Python爬虫]入门知识(没看的赶紧去看)大家也估计手痒了.想要实际做个小东西来看看,毕竟: talk ...

  9. 五分钟没有操作自动退出_智阅云自动阅读器app下载-智阅云自动阅读器app安卓版下载v1.0...

    智阅云自动阅读器是一款可以阅读赚钱的软件,这里有很多的文章,每天也都会有更新,在这里阅读文章赚钱还是比较靠谱的,大家可以放心. 智阅云自动阅读器app介绍 智阅云自动阅读器这里赚钱是比较简单的,还可以 ...

最新文章

  1. 什么是块元素?什么是行内元素?
  2. 三层交换机环境的上网行为管理方案
  3. Http的请求协议请求行介绍
  4. 作为大数据和云计算学习的一个序吧
  5. Android --修改arr文件
  6. 仅剩3天 | 带学《百面机器学习》葫芦书,算法+leetcode一应俱全
  7. VTK:几何对象之Quad
  8. mysql的搜索效率_Mysql模糊查询like效率,以及更高效的写法
  9. Git 切换提交历史节点
  10. java中j_j + = j ++在Java中做什么?
  11. DPDK 网卡收包流程
  12. 最新版本科、硕士、博士的区别
  13. Selenium学习笔记||三、BeautifulSoup
  14. IEC63174电动牙刷性能检测仪器分享
  15. 噪声调相干扰matlab程序,噪声调相干扰信号的性能仿真
  16. lora网关以太网传输
  17. 1月第1周业务风控关注 | 四部门联合印发App违法违规收集使用个人信息行为认定方法
  18. Unity3d 周分享(17期 2019.5.18 )
  19. 外网访问redis cluster的大坑
  20. android recocery模式,recovery模式怎么进入 recovery菜单翻译

热门文章

  1. C语言对于轴对称图形输出的分析
  2. C语言训练-1522-对称矩阵的判定
  3. 贰零贰壹·陆·伍·|比赛|·|创客|:第二十届自治区青少年机器人竞赛心得总结
  4. pandas计算主力合约(模拟文化财经规则)
  5. Mysql索引有哪几种类型
  6. Anaconda 虚拟环境:pyuic之找不到模块之最后的希望(最新)
  7. 如何写好测试用例的标题
  8. 陪您幸福一辈子的牛皮凉席
  9. pynq-z2 使用PL做流水灯
  10. 『实用教程』VSPD虚拟串口工具——从此告别硬件串口调试