zoukankan      html  css  js  c++  java
  • 用Chrome的Surfingkeys插件一键复制全国疫情数据(市一级)

    全国新型冠状病毒肺炎大数据网址: https://voice.baidu.com/act/newpneumonia/newpneumonia/?from=osari_pc_1

    因为需要根据疫情严重程度对人员执行不同的隔离措施,所以需要数据支持,而网页上并没提供数据导出,所以自己写了脚本实现。

    Excel数据下载:全国数据(更新至 2020.02.16 22:45)

      注:网页上 辽宁 数据有误,各市加起来是120人,结果显示121人,有图为证。

     

    以下是实现的方式:

    使用谷歌浏览器的 Surfingkeys 插件(下载)执行 JavaScript 代码来获取数据,

    把以下代码添加到 Surfingkeys 配置,刷新【插件配置页面】和【数据网址】后,按F9会复制所有数据(可直接粘贴到Excel表的A1单元格)

    mapkey('<F9>', 'All', function(){
    var
    url = window.location.href.match(/^(https?://)?(.+?)(/)?$/)[2].toLowerCase(); //去除http://前缀和末尾的/ if (url.indexOf('voice.baidu.com/act/newpneumonia') != -1) //网址匹配 wuhan(); }); // https://voice.baidu.com/act/newpneumonia/newpneumonia/?from=osari_pc_1 function wuhan() { var oTrsSheng = document.getElementById('nationTable').getElementsByTagName('tbody')[0].children; var res = sheng = shi = ''; var oSpans, oTrsShi, oTds; for (var i=0; i<oTrsSheng.length; i++) // { oSpans = oTrsSheng[i].getElementsByTagName('td')[0].getElementsByTagName('span'); sheng = oSpans[1].innerHTML; //记录省名称 if (oSpans[0].className.length == 26) //折叠状态 oSpans[1].click(); if (oTrsSheng[i].nextElementSibling.children.length != 1) //省没有下级,获取本级数据 { oTds = oTrsSheng[i].getElementsByTagName('td'); res += sheng+' '+sheng+' '+oTds[1].innerHTML+' '+oTds[2].innerHTML+' '+oTds[3].innerHTML+' '; } else { oTrsShi = oTrsSheng[i].nextElementSibling.getElementsByTagName('tr'); //获取所有市 if (oTrsShi.length == 0) continue for (var j=0; j<oTrsShi.length; j++) // { oTds = oTrsShi[j].getElementsByTagName('td'); if (oTds[0].firstElementChild.nodeName == 'A') { shi = decodeURI(oTds[0].firstElementChild.href.replace(/.*-/,'')); res += sheng+' '+shi+' '+oTds[1].innerHTML+' '+oTds[2].innerHTML+' '+oTds[3].innerHTML+' '; } else res += sheng+' '+oTds[0].firstElementChild.innerHTML+' '+oTds[1].innerHTML+' '+oTds[2].innerHTML+' '+oTds[3].innerHTML+' '; } oSpans[1].click(); //折叠 } }
    var t = document.getElementById('ptab-0').getElementsByTagName('span')[0].innerHTML; //获取更新日期 Clipboard.write(t+' 省 市 确诊 治愈 死亡 ' + res); //复制最终数据
    //console.log(res); }
  • 相关阅读:
    创建错误日志到文件 kiddy
    简单js时钟 kiddy
    Jquery表单验证
    js 地址栏操作
    $().each和$.each的区别
    Ajax与JSON的一些总结
    分页存储过程
    CKeditor 配置使用
    ISAPI_rewrite中文手册
    js向上无缝滚动,网站公告效果
  • 原文地址:https://www.cnblogs.com/hyaray/p/12316316.html
Copyright © 2011-2022 走看看