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); }
  • 相关阅读:
    eclipse中不能找到dubbo.xsd
    CentOS7部署tomcat
    mybatis中的foreach
    mybatis中批量添加orcale
    mybatis中的like使用方式
    mybatis默认参数_parameter和_databaseId
    mybatis中的resultMap
    mybatis操作oracle,插入null值时报错 with jdbctype OTHER
    mybatis 中 #{} 和 ${} 的区别
    mybatis Cause: org.apache.ibatis.binding.BindingException: Parameter 'id' not found. Available parameters are [0, 1, param1, param2]
  • 原文地址:https://www.cnblogs.com/hyaray/p/12316316.html
Copyright © 2011-2022 走看看