专栏首页灵儿的笔记武汉疫情系列(1)|java爬取丁香园|JAVA爬取丁香医生的全国新型肺炎疫情实时动态

武汉疫情系列(1)|java爬取丁香园|JAVA爬取丁香医生的全国新型肺炎疫情实时动态

一、要爬取的内容

包括但是不限制以下内容,

1、截止时间,为了统计的准确性,这个有必要展示

2、总共的确诊病例、疑似病例、死亡人数和治愈人数

3、国内各个省市的确诊、死亡和治愈人数

4、全球国外的各个国家的确诊、死亡和治愈人数

5、其他的信息可以爬取也可以不爬取,看情况吧,如果有需要的话,可以在文章底部留言,我会另外更新上去


二、抓包数据

抓包可以利用抓包工具或者直接浏览器F12看请求数据 ,这里我就直接省略跳过去了,想了解的可以自己搜索教程,我用的抓包工具是fiddler。

丁香医生的请求地址:https://ncov.dxy.cn/ncovh5/view/pneumonia

这里发现当我请求丁香医生页面的抓包数据如图所示,我们可以清楚的看到请求的url就这么几个,他好像没有返回的json数据格式,可以大概猜测到丁香医生的这个页面没有采用前后端分离的模式,关于网站的架构模式这篇文章不是重点,我也就不继续分析和猜测了,重点是看来我们得用正则来解析html来获取想要的数据了。

直接查看源代码,可以很清楚的看到所有的数据

1、获取第一部分的数据:总共确诊、疑似、治愈和死亡人数

html格式化后的

<script id="getStatisticsService">
try {
    window.getStatisticsService = {
        "id": 1,
        "createTime": 1579537899000,
        "modifyTime": 1580571956000,
        "infectSource": "野生动物,可能为中华菊头蝠",
        "passWay": "经呼吸道飞沫传播,亦可通过接触传播",
        "imgUrl": "https://img1.dxycdn.com/2020/0201/450/3394153392393266839-135.png",
        "dailyPic": "https://img1.dxycdn.com/2020/0201/693/3394145745204021706-135.png",
        "summary": "",
        "deleted": false,
        "countRemark": "",
        "confirmedCount": 11901,
        "suspectedCount": 17988,
        "curedCount": 275,
        "deadCount": 259,
        "virus": "新型冠状病毒 2019-nCoV",
        "remark1": "易感人群: 人群普遍易感。老年人及有基础疾病者感染后病情较重,儿童及婴幼儿也有发病",
        "remark2": "潜伏期: 一般为 3~7 天,最长不超过 14 天,潜伏期内存在传染性",
        "remark3": "",
        "remark4": "",
        "remark5": "",
        "generalRemark": "疑似病例数来自国家卫健委数据,目前为全国数据,未分省市自治区等",
        "abroadRemark": ""
    }
} catch(e) {}
</script>

modifyTime 就是我们要的截止xxxx全国数据统计时间

confirmedCount 就是确诊病例人数

suspectedCount 就是疑似病例人数

curedCount 就是治愈人数

deadCount 就是死亡人数

代码demo

/**
     * 获取丁香医生的总共确诊病例、疑似病例、治愈人数、死亡人数等数据
     * @return
     */
    public static String getStatisticsService(){
        String url="https://ncov.dxy.cn/ncovh5/view/pneumonia";
        //模拟请求
        HttpPojo httpPojo = new HttpPojo();
        httpPojo.setHttpHost("ncov.dxy.cn");
        httpPojo.setHttpAccept("*/*");
        httpPojo.setHttpConnection("keep-alive");
        httpPojo.setHttpUserAgent("Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36");
        httpPojo.setHttpReferer("https://ncov.dxy.cn");
        httpPojo.setHttpOrigin("https://ncov.dxy.cn");
        Map paramObj = new HashMap();
        String htmlResult = httpSendGet(url, paramObj, httpPojo); //整个html页面
        //System.out.println(htmlResult);

        //正则获取数据
        //因为html的数据格式看着就像json格式,所以我们正则获取json:{"id":1,"createTime":1579537899000,"modifyTime":1580571956000,"infectSource":"野生动物,可能为中华菊头蝠","passWay":"经呼吸道飞沫传播,亦可通过接触传播","imgUrl":"https://img1.dxycdn.com/2020/0201/450/3394153392393266839-135.png","dailyPic":"https://img1.dxycdn.com/2020/0201/693/3394145745204021706-135.png","summary":"","deleted":false,"countRemark":"","confirmedCount":11901,"suspectedCount":17988,"curedCount":275,"deadCount":259,"virus":"新型冠状病毒 2019-nCoV","remark1":"易感人群: 人群普遍易感。老年人及有基础疾病者感染后病情较重,儿童及婴幼儿也有发病","remark2":"潜伏期: 一般为 3~7 天,最长不超过 14 天,潜伏期内存在传染性","remark3":"","remark4":"","remark5":"","generalRemark":"疑似病例数来自国家卫健委数据,目前为全国数据,未分省市自治区等","abroadRemark":""}
        String reg= "window.getStatisticsService = (.*?)\\}(?=catch)"; 
        Pattern totalPattern = Pattern.compile(reg);
        Matcher totalMatcher = totalPattern.matcher(htmlResult);

        String result="";
        if (totalMatcher.find()){
            result = totalMatcher.group(1);
            System.out.println(result);
            //JSONObject jsonObject = JSONObject.parseObject(result);
            //String modifyTime = jsonObject.getString("modifyTime");
            //System.out.println("modifyTime:"+modifyTime);
        }

        return result;
    }

运行效果:可以自行复制打印出来的结果在 在线json格式化网站解析一下看看:http://www.bejson.com/count.html

{"id":1,"createTime":1579537899000,"modifyTime":1580571956000,"infectSource":"野生动物,可能为中华菊头蝠","passWay":"经呼吸道飞沫传播,亦可通过接触传播","imgUrl":"https://img1.dxycdn.com/2020/0201/450/3394153392393266839-135.png","dailyPic":"https://img1.dxycdn.com/2020/0201/693/3394145745204021706-135.png","summary":"","deleted":false,"countRemark":"","confirmedCount":11901,"suspectedCount":17988,"curedCount":275,"deadCount":259,"virus":"新型冠状病毒 2019-nCoV","remark1":"易感人群: 人群普遍易感。老年人及有基础疾病者感染后病情较重,儿童及婴幼儿也有发病","remark2":"潜伏期: 一般为 3~7 天,最长不超过 14 天,潜伏期内存在传染性","remark3":"","remark4":"","remark5":"","generalRemark":"疑似病例数来自国家卫健委数据,目前为全国数据,未分省市自治区等","abroadRemark":""}

2、获取第二部分数据:国内各个省市的数据

跟上述一样,查看源代码,找到相关数据

html格式化后的数据:由于我格式化后,这里会显示的非常长,所以这里我就不格式化了,大家如果想看格式化后的数据,可以自行复制下面的内容,到网站:https://tool.oschina.net/codeformat/js/ 格式化看效果

<script id="getAreaStat">try { window.getAreaStat = [{"provinceName":"湖北省","provinceShortName":"湖北","confirmedCount":7153,"suspectedCount":0,"curedCount":168,"deadCount":249,"comment":"待明确地区:治愈 35","locationId":420000,"cities":[{"cityName":"武汉","confirmedCount":3215,"suspectedCount":0,"curedCount":106,"deadCount":192,"locationId":420100},{"cityName":"黄冈","confirmedCount":726,"suspectedCount":0,"curedCount":17,"deadCount":14,"locationId":421100},{"cityName":"孝感","confirmedCount":628,"suspectedCount":0,"curedCount":2,"deadCount":12,"locationId":420900},{"cityName":"襄阳","confirmedCount":347,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":420600},{"cityName":"随州","confirmedCount":304,"suspectedCount":0,"curedCount":0,"deadCount":1,"locationId":421300},{"cityName":"荆州","confirmedCount":287,"suspectedCount":0,"curedCount":2,"deadCount":4,"locationId":421000},{"cityName":"宜昌","confirmedCount":276,"suspectedCount":0,"curedCount":0,"deadCount":1,"locationId":420500},{"cityName":"荆门","confirmedCount":251,"suspectedCount":0,"curedCount":1,"deadCount":5,"locationId":420800},{"cityName":"鄂州","confirmedCount":227,"suspectedCount":0,"curedCount":0,"deadCount":9,"locationId":420700},{"cityName":"黄石","confirmedCount":209,"suspectedCount":0,"curedCount":1,"deadCount":2,"locationId":420200},{"cityName":"咸宁","confirmedCount":206,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":421200},{"cityName":"十堰","confirmedCount":177,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":420300},{"cityName":"仙桃","confirmedCount":97,"suspectedCount":0,"curedCount":0,"deadCount":1,"locationId":429004},{"cityName":"恩施州","confirmedCount":87,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":422800},{"cityName":"天门","confirmedCount":82,"suspectedCount":0,"curedCount":0,"deadCount":7,"locationId":429006},{"cityName":"潜江","confirmedCount":27,"suspectedCount":0,"curedCount":0,"deadCount":1,"locationId":429005},{"cityName":"神农架林区","confirmedCount":7,"suspectedCount":0,"curedCount":2,"deadCount":0,"locationId":429021}]},{"provinceName":"浙江省","provinceShortName":"浙江","confirmedCount":599,"suspectedCount":0,"curedCount":21,"deadCount":0,"comment":"","locationId":330000,"cities":[{"cityName":"温州","confirmedCount":241,"suspectedCount":0,"curedCount":8,"deadCount":0,"locationId":330300},{"cityName":"杭州","confirmedCount":98,"suspectedCount":0,"curedCount":3,"deadCount":0,"locationId":330100},{"cityName":"台州","confirmedCount":95,"suspectedCount":0,"curedCount":4,"deadCount":0,"locationId":331000},{"cityName":"宁波","confirmedCount":55,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":330200},{"cityName":"金华","confirmedCount":34,"suspectedCount":0,"curedCount":3,"deadCount":0,"locationId":330700},{"cityName":"绍兴","confirmedCount":24,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":330600},{"cityName":"嘉兴","confirmedCount":18,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":330400},{"cityName":"衢州","confirmedCount":13,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":330800},{"cityName":"丽水","confirmedCount":8,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":331100},{"cityName":"舟山","confirmedCount":7,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":330900},{"cityName":"湖州","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":330500}]},{"provinceName":"广东省","provinceShortName":"广东","confirmedCount":535,"suspectedCount":0,"curedCount":14,"deadCount":0,"comment":"","locationId":440000,"cities":[{"cityName":"深圳","confirmedCount":170,"suspectedCount":0,"curedCount":5,"deadCount":0,"locationId":440300},{"cityName":"广州","confirmedCount":150,"suspectedCount":0,"curedCount":3,"deadCount":0,"locationId":440100},{"cityName":"佛山","confirmedCount":39,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":440600},{"cityName":"珠海","confirmedCount":38,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":440400},{"cityName":"东莞","confirmedCount":21,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":441900},{"cityName":"惠州","confirmedCount":20,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":441300},{"cityName":"中山","confirmedCount":18,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":442000},{"cityName":"汕头","confirmedCount":14,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":440500},{"cityName":"湛江","confirmedCount":13,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":440800},{"cityName":"阳江","confirmedCount":10,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":441700},{"cityName":"肇庆","confirmedCount":6,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":441200},{"cityName":"清远","confirmedCount":6,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":441800},{"cityName":"揭阳","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":445200},{"cityName":"梅州","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":441400},{"cityName":"韶关","confirmedCount":4,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":440200},{"cityName":"汕尾","confirmedCount":4,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":441500},{"cityName":"茂名","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":440900},{"cityName":"江门","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":440700},{"cityName":"潮州","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":445100},{"cityName":"河源","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":441600}]},{"provinceName":"河南省","provinceShortName":"河南","confirmedCount":422,"suspectedCount":0,"curedCount":3,"deadCount":2,"comment":"待明确地区:治愈 1","locationId":410000,"cities":[{"cityName":"信阳","confirmedCount":70,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":411500},{"cityName":"南阳","confirmedCount":66,"suspectedCount":0,"curedCount":0,"deadCount":2,"locationId":411300},{"cityName":"郑州","confirmedCount":56,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":410100},{"cityName":"驻马店","confirmedCount":40,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":411700},{"cityName":"周口","confirmedCount":38,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":411600},{"cityName":"商丘","confirmedCount":29,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":411400},{"cityName":"安阳","confirmedCount":24,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":410500},{"cityName":"新乡","confirmedCount":21,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":410700},{"cityName":"漯河","confirmedCount":14,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":411100},{"cityName":"许昌","confirmedCount":12,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":411000},{"cityName":"平顶山","confirmedCount":11,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":410400},{"cityName":"开封","confirmedCount":8,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":410200},{"cityName":"三门峡","confirmedCount":7,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":411200},{"cityName":"永城","confirmedCount":7,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":411481},{"cityName":"鹤壁","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":410600},{"cityName":"洛阳","confirmedCount":5,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":410300},{"cityName":"濮阳","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":410900},{"cityName":"焦作","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":410800},{"cityName":"长垣","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":0},{"cityName":"滑县","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":410526}]},{"provinceName":"湖南省","provinceShortName":"湖南","confirmedCount":389,"suspectedCount":0,"curedCount":8,"deadCount":0,"comment":"","locationId":430000,"cities":[{"cityName":"长沙","confirmedCount":86,"suspectedCount":0,"curedCount":2,"deadCount":0,"locationId":430100},{"cityName":"岳阳","confirmedCount":45,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":430600},{"cityName":"邵阳","confirmedCount":41,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":430500},{"cityName":"常德","confirmedCount":39,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":430700},{"cityName":"怀化","confirmedCount":28,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":431200},{"cityName":"娄底","confirmedCount":26,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":431300},{"cityName":"衡阳","confirmedCount":26,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":430400},{"cityName":"益阳","confirmedCount":24,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":430900},{"cityName":"株洲","confirmedCount":22,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":430200},{"cityName":"永州","confirmedCount":18,"suspectedCount":0,"curedCount":2,"deadCount":0,"locationId":431100},{"cityName":"湘潭","confirmedCount":13,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":430300},{"cityName":"郴州","confirmedCount":13,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":431000},{"cityName":"湘西自治州","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":433100},{"cityName":"张家界","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":430800}]},{"provinceName":"安徽省","provinceShortName":"安徽","confirmedCount":297,"suspectedCount":0,"curedCount":5,"deadCount":0,"comment":"","locationId":340000,"cities":[{"cityName":"合肥","confirmedCount":59,"suspectedCount":0,"curedCount":2,"deadCount":0,"locationId":340100},{"cityName":"阜阳","confirmedCount":47,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":341200},{"cityName":"安庆","confirmedCount":31,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":340800},{"cityName":"亳州","confirmedCount":25,"suspectedCount":0,"curedCount":2,"deadCount":0,"locationId":341600},{"cityName":"马鞍山","confirmedCount":22,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":340500},{"cityName":"蚌埠","confirmedCount":16,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":340300},{"cityName":"铜陵","confirmedCount":16,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":340700},{"cityName":"芜湖","confirmedCount":15,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":340200},{"cityName":"六安","confirmedCount":13,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":341500},{"cityName":"宿州","confirmedCount":12,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":341300},{"cityName":"黄山","confirmedCount":9,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":341000},{"cityName":"淮南","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":340400},{"cityName":"宿松","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":0},{"cityName":"滁州","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":341100},{"cityName":"淮北","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":340600},{"cityName":"池州","confirmedCount":4,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":341700},{"cityName":"宣城","confirmedCount":4,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":341800}]},{"provinceName":"江西省","provinceShortName":"江西","confirmedCount":286,"suspectedCount":0,"curedCount":9,"deadCount":0,"comment":"待明确地区治愈2例","locationId":360000,"cities":[{"cityName":"南昌","confirmedCount":83,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":360100},{"cityName":"九江","confirmedCount":43,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":360400},{"cityName":"新余","confirmedCount":40,"suspectedCount":0,"curedCount":2,"deadCount":0,"locationId":360500},{"cityName":"赣州","confirmedCount":30,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":360700},{"cityName":"宜春","confirmedCount":29,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":360900},{"cityName":"抚州","confirmedCount":18,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":361000},{"cityName":"上饶","confirmedCount":16,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":361100},{"cityName":"吉安","confirmedCount":11,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":360800},{"cityName":"萍乡","confirmedCount":9,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":360300},{"cityName":"鹰潭","confirmedCount":4,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":360600},{"cityName":"景德镇","confirmedCount":3,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":360200}]},{"provinceName":"重庆市","provinceShortName":"重庆","confirmedCount":247,"suspectedCount":0,"curedCount":3,"deadCount":1,"comment":"","locationId":500000,"cities":[{"cityName":"万州区","confirmedCount":39,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500101},{"cityName":"云阳县","confirmedCount":18,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500235},{"cityName":"开州区","confirmedCount":16,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500154},{"cityName":"忠县","confirmedCount":12,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500233},{"cityName":"江北区","confirmedCount":12,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500105},{"cityName":"渝北区","confirmedCount":11,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500112},{"cityName":"垫江县","confirmedCount":11,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500231},{"cityName":"巫溪县","confirmedCount":10,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500238},{"cityName":"两江新区","confirmedCount":10,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":-1},{"cityName":"长寿区","confirmedCount":10,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500115},{"cityName":"石柱县","confirmedCount":10,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500240},{"cityName":"九龙坡区","confirmedCount":9,"suspectedCount":0,"curedCount":0,"deadCount":1,"locationId":500107},{"cityName":"合川区","confirmedCount":8,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500117},{"cityName":"璧山区","confirmedCount":8,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500120},{"cityName":"渝中区","confirmedCount":7,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500103},{"cityName":"大渡口区","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500104},{"cityName":"巫山县","confirmedCount":6,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":500237},{"cityName":"奉节县","confirmedCount":5,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500236},{"cityName":"丰都县","confirmedCount":5,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":500230},{"cityName":"綦江区","confirmedCount":4,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500110},{"cityName":"大足区","confirmedCount":4,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500111},{"cityName":"江津区","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500116},{"cityName":"永川区","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500118},{"cityName":"南岸区","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500108},{"cityName":"铜梁区","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500151},{"cityName":"潼南区","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500152},{"cityName":"梁平区","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500155},{"cityName":"黔江区","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500114},{"cityName":"荣昌区","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500153},{"cityName":"沙坪坝区","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500106},{"cityName":"涪陵区","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500102},{"cityName":"巴南区","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500113},{"cityName":"城口县","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500229},{"cityName":"秀山县","confirmedCount":1,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":500241},{"cityName":"武隆区","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500156}]},{"provinceName":"四川省","provinceShortName":"四川","confirmedCount":207,"suspectedCount":0,"curedCount":3,"deadCount":1,"comment":"","locationId":510000,"cities":[{"cityName":"成都","confirmedCount":72,"suspectedCount":0,"curedCount":3,"deadCount":1,"locationId":510100},{"cityName":"广安","confirmedCount":16,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":511600},{"cityName":"南充","confirmedCount":16,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":511300},{"cityName":"绵阳","confirmedCount":12,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":510700},{"cityName":"内江","confirmedCount":10,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":511000},{"cityName":"达州","confirmedCount":9,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":511700},{"cityName":"自贡","confirmedCount":9,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":510300},{"cityName":"巴中","confirmedCount":8,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":511900},{"cityName":"德阳","confirmedCount":7,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":510600},{"cityName":"宜宾","confirmedCount":7,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":511500},{"cityName":"攀枝花","confirmedCount":7,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":510400},{"cityName":"遂宁","confirmedCount":5,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":510900},{"cityName":"雅安","confirmedCount":5,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":511800},{"cityName":"泸州","confirmedCount":5,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":510500},{"cityName":"甘孜州","confirmedCount":5,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":513300},{"cityName":"凉山州","confirmedCount":5,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":513400},{"cityName":"乐山","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":511100},{"cityName":"眉山","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":511400},{"cityName":"资阳","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":512000},{"cityName":"广元","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":510800},{"cityName":"阿坝州","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":0}]},{"provinceName":"山东省","provinceShortName":"山东","confirmedCount":206,"suspectedCount":0,"curedCount":3,"deadCount":0,"comment":"","locationId":370000,"cities":[{"cityName":"威海","confirmedCount":24,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":371000},{"cityName":"临沂","confirmedCount":23,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":371300},{"cityName":"青岛","confirmedCount":21,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":370200},{"cityName":"烟台","confirmedCount":20,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":370600},{"cityName":"济南","confirmedCount":18,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":370100},{"cityName":"德州","confirmedCount":17,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":371400},{"cityName":"枣庄","confirmedCount":12,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":370400},{"cityName":"济宁","confirmedCount":11,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":370800},{"cityName":"日照","confirmedCount":10,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":371100},{"cityName":"淄博","confirmedCount":10,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":370300},{"cityName":"潍坊","confirmedCount":9,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":370700},{"cityName":"滨州","confirmedCount":9,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":371600},{"cityName":"聊城","confirmedCount":8,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":371500},{"cityName":"菏泽","confirmedCount":8,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":371700},{"cityName":"泰安","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":370900}]},{"provinceName":"江苏省","provinceShortName":"江苏","confirmedCount":202,"suspectedCount":0,"curedCount":6,"deadCount":0,"comment":"","locationId":320000,"cities":[{"cityName":"苏州","confirmedCount":34,"suspectedCount":0,"curedCount":2,"deadCount":0,"locationId":320500},{"cityName":"南京","confirmedCount":28,"suspectedCount":0,"curedCount":2,"deadCount":0,"locationId":320100},{"cityName":"徐州","confirmedCount":23,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":320300},{"cityName":"泰州","confirmedCount":17,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":321200},{"cityName":"常州","confirmedCount":14,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":320400},{"cityName":"连云港","confirmedCount":13,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":320700},{"cityName":"无锡","confirmedCount":13,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":320200},{"cityName":"扬州","confirmedCount":13,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":321000},{"cityName":"盐城","confirmedCount":13,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":320900},{"cityName":"南通","confirmedCount":12,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":320600},{"cityName":"淮安","confirmedCount":12,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":320800},{"cityName":"宿迁","confirmedCount":8,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":321300},{"cityName":"镇江","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":321100}]},{"provinceName":"上海市","provinceShortName":"上海","confirmedCount":169,"suspectedCount":0,"curedCount":10,"deadCount":1,"comment":"治愈数据统一归属上海市公卫临床中心,暂无具体分区","locationId":310000,"cities":[{"cityName":"外地来沪人员","confirmedCount":73,"suspectedCount":0,"curedCount":5,"deadCount":1,"locationId":-1},{"cityName":"浦东新区","confirmedCount":32,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":310115},{"cityName":"静安区","confirmedCount":8,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":310106},{"cityName":"宝山区","confirmedCount":8,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":310113},{"cityName":"闵行区","confirmedCount":7,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":310112},{"cityName":"长宁区","confirmedCount":7,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":310105},{"cityName":"徐汇区","confirmedCount":7,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":310104},{"cityName":"虹口区","confirmedCount":5,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":310109},{"cityName":"黄浦区","confirmedCount":5,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":310101},{"cityName":"奉贤区","confirmedCount":5,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":310120},{"cityName":"松江区","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":310117},{"cityName":"青浦区","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":310118},{"cityName":"杨浦区","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":310110},{"cityName":"嘉定区","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":310114},{"cityName":"普陀区","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":310107},{"cityName":"金山区","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":310116},{"cityName":"未知地区","confirmedCount":0,"suspectedCount":0,"curedCount":5,"deadCount":0,"locationId":0}]},{"provinceName":"北京市","provinceShortName":"北京","confirmedCount":168,"suspectedCount":0,"curedCount":9,"deadCount":1,"comment":"待明确地区:死亡 1,治愈 5","locationId":110000,"cities":[{"cityName":"海淀区","confirmedCount":39,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":110108},{"cityName":"朝阳区","confirmedCount":28,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":110105},{"cityName":"大兴区","confirmedCount":20,"suspectedCount":0,"curedCount":2,"deadCount":0,"locationId":110115},{"cityName":"西城区","confirmedCount":17,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":110102},{"cityName":"丰台区","confirmedCount":16,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":110106},{"cityName":"通州区","confirmedCount":13,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":110112},{"cityName":"昌平区","confirmedCount":12,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":110114},{"cityName":"外地来京人员","confirmedCount":11,"suspectedCount":0,"curedCount":2,"deadCount":0,"locationId":-1},{"cityName":"石景山区","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":110107},{"cityName":"东城区","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":110101},{"cityName":"顺义区","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":110113},{"cityName":"房山区","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":110111},{"cityName":"门头沟区","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":110109},{"cityName":"怀柔区","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":110116}]},{"provinceName":"福建省","provinceShortName":"福建","confirmedCount":144,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","locationId":350000,"cities":[{"cityName":"福州","confirmedCount":39,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":350100},{"cityName":"莆田","confirmedCount":25,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":350300},{"cityName":"泉州","confirmedCount":24,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":350500},{"cityName":"厦门","confirmedCount":17,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":350200},{"cityName":"漳州","confirmedCount":11,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":350600},{"cityName":"三明","confirmedCount":10,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":350400},{"cityName":"宁德","confirmedCount":9,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":350900},{"cityName":"南平","confirmedCount":8,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":350700},{"cityName":"龙岩","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":350800}]},{"provinceName":"陕西省","provinceShortName":"陕西","confirmedCount":101,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","locationId":610000,"cities":[{"cityName":"西安","confirmedCount":39,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":610100},{"cityName":"安康","confirmedCount":14,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":610900},{"cityName":"汉中","confirmedCount":13,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":610700},{"cityName":"咸阳","confirmedCount":8,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":610400},{"cityName":"延安","confirmedCount":7,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":610600},{"cityName":"宝鸡","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":610300},{"cityName":"铜川","confirmedCount":5,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":610200},{"cityName":"渭南","confirmedCount":5,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":610500},{"cityName":"商洛","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":611000},{"cityName":"榆林","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":610800},{"cityName":"韩城","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":610581}]},{"provinceName":"广西壮族自治区","provinceShortName":"广西","confirmedCount":100,"suspectedCount":0,"curedCount":2,"deadCount":0,"comment":"","locationId":450000,"cities":[{"cityName":"北海","confirmedCount":23,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":450500},{"cityName":"桂林","confirmedCount":21,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":450300},{"cityName":"南宁","confirmedCount":16,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":450100},{"cityName":"柳州","confirmedCount":12,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":450200},{"cityName":"防城港","confirmedCount":8,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":450600},{"cityName":"河池","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":451200},{"cityName":"梧州","confirmedCount":5,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":450400},{"cityName":"玉林","confirmedCount":5,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":450900},{"cityName":"百色","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":451000},{"cityName":"钦州","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":450700},{"cityName":"贺州","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":451100}]},{"provinceName":"河北省","provinceShortName":"河北","confirmedCount":96,"suspectedCount":0,"curedCount":0,"deadCount":1,"comment":"","locationId":130000,"cities":[{"cityName":"沧州","confirmedCount":19,"suspectedCount":0,"curedCount":0,"deadCount":1,"locationId":130900},{"cityName":"石家庄","confirmedCount":12,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":130100},{"cityName":"保定","confirmedCount":11,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":130600},{"cityName":"廊坊","confirmedCount":11,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":131000},{"cityName":"邯郸","confirmedCount":10,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":130400},{"cityName":"邢台","confirmedCount":10,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":130500},{"cityName":"唐山","confirmedCount":8,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":130200},{"cityName":"张家口","confirmedCount":8,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":130700},{"cityName":"衡水","confirmedCount":4,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":131100},{"cityName":"承德","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":130800},{"cityName":"秦皇岛","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":130300}]},{"provinceName":"云南省","provinceShortName":"云南","confirmedCount":93,"suspectedCount":0,"curedCount":2,"deadCount":0,"comment":"","locationId":530000,"cities":[{"cityName":"昆明","confirmedCount":30,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":530100},{"cityName":"西双版纳","confirmedCount":12,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":532800},{"cityName":"保山","confirmedCount":8,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":530500},{"cityName":"玉溪","confirmedCount":7,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":530400},{"cityName":"丽江","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":530700},{"cityName":"大理","confirmedCount":6,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":532901},{"cityName":"昭通","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":530600},{"cityName":"曲靖","confirmedCount":5,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":530300},{"cityName":"红河","confirmedCount":5,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":532500},{"cityName":"普洱","confirmedCount":4,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":530800},{"cityName":"德宏","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":533100},{"cityName":"临沧","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":530900}]},{"provinceName":"黑龙江省","provinceShortName":"黑龙江","confirmedCount":80,"suspectedCount":0,"curedCount":2,"deadCount":2,"comment":"","locationId":230000,"cities":[{"cityName":"哈尔滨","confirmedCount":25,"suspectedCount":0,"curedCount":2,"deadCount":0,"locationId":230100},{"cityName":"绥化","confirmedCount":13,"suspectedCount":0,"curedCount":0,"deadCount":2,"locationId":231200},{"cityName":"佳木斯","confirmedCount":11,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":230800},{"cityName":"大庆","confirmedCount":8,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":230600},{"cityName":"牡丹江","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":231000},{"cityName":"七台河","confirmedCount":5,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":230900},{"cityName":"鸡西","confirmedCount":4,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":230300},{"cityName":"齐齐哈尔","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":230200},{"cityName":"双鸭山","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":230500},{"cityName":"大兴安岭","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":0},{"cityName":"鹤岗","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":230400}]},{"provinceName":"辽宁省","provinceShortName":"辽宁","confirmedCount":64,"suspectedCount":0,"curedCount":1,"deadCount":0,"comment":"","locationId":210000,"cities":[{"cityName":"沈阳","confirmedCount":13,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":210100},{"cityName":"大连","confirmedCount":10,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":210200},{"cityName":"盘锦","confirmedCount":7,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":211100},{"cityName":"锦州","confirmedCount":7,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":210700},{"cityName":"朝阳","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":211300},{"cityName":"丹东","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":210600},{"cityName":"葫芦岛","confirmedCount":5,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":211400},{"cityName":"本溪","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":210500},{"cityName":"铁岭","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":211200},{"cityName":"阜新","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":210900},{"cityName":"营口","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":210800},{"cityName":"辽阳","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":211000},{"cityName":"鞍山","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":210300}]},{"provinceName":"海南省","provinceShortName":"海南","confirmedCount":62,"suspectedCount":0,"curedCount":1,"deadCount":1,"comment":"待明确地区:确诊 2","locationId":460000,"cities":[{"cityName":"三亚","confirmedCount":15,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":460200},{"cityName":"海口","confirmedCount":11,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":460100},{"cityName":"万宁","confirmedCount":8,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":469006},{"cityName":"儋州","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":460400},{"cityName":"琼海","confirmedCount":5,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":469002},{"cityName":"陵水","confirmedCount":5,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":0},{"cityName":"临高","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":0},{"cityName":"澄迈","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":1,"locationId":0},{"cityName":"东方","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":469007},{"cityName":"琼中","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":0},{"cityName":"定安","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":0},{"cityName":"昌江","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":0},{"cityName":"乐东","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":0}]},{"provinceName":"山西省","provinceShortName":"山西","confirmedCount":47,"suspectedCount":0,"curedCount":1,"deadCount":0,"comment":"","locationId":140000,"cities":[{"cityName":"晋中","confirmedCount":11,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":140700},{"cityName":"运城","confirmedCount":10,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":140800},{"cityName":"大同","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":140200},{"cityName":"吕梁","confirmedCount":5,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":141100},{"cityName":"太原","confirmedCount":4,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":140100},{"cityName":"长治","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":140400},{"cityName":"朔州","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":140600},{"cityName":"晋城","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":140500},{"cityName":"阳泉","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":140300},{"cityName":"临汾","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":141000},{"cityName":"忻州","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":140900}]},{"provinceName":"天津市","provinceShortName":"天津","confirmedCount":41,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","locationId":120000,"cities":[{"cityName":"河北区","confirmedCount":9,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":120105},{"cityName":"河东区","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":120102},{"cityName":"外地来津人员","confirmedCount":4,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":0},{"cityName":"河西区","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":120103},{"cityName":"和平区","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":120101},{"cityName":"宝坻区","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":120115},{"cityName":"东丽区","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":120110},{"cityName":"西青区","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":120111},{"cityName":"滨海新区","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":120116},{"cityName":"南开区","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":120104},{"cityName":"红桥区","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":120106},{"cityName":"宁河区","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":120117}]},{"provinceName":"甘肃省","provinceShortName":"甘肃","confirmedCount":40,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","locationId":620000,"cities":[{"cityName":"兰州","confirmedCount":23,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":620100},{"cityName":"陇南","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":621200},{"cityName":"天水","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":620500},{"cityName":"定西","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":621100},{"cityName":"临夏","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":622901},{"cityName":"张掖","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":620700},{"cityName":"白银","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":620400},{"cityName":"金昌","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":620300},{"cityName":"平凉","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":620800},{"cityName":"甘南","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":0}]},{"provinceName":"贵州省","provinceShortName":"贵州","confirmedCount":29,"suspectedCount":0,"curedCount":2,"deadCount":0,"comment":"","locationId":520000,"cities":[{"cityName":"六盘水","confirmedCount":8,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":520200},{"cityName":"黔南州","confirmedCount":4,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":522700},{"cityName":"贵阳","confirmedCount":4,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":520100},{"cityName":"遵义","confirmedCount":4,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":520300},{"cityName":"铜仁","confirmedCount":3,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":520600},{"cityName":"毕节","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":520500},{"cityName":"黔东南州","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":0},{"cityName":"黔西南州","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":522300}]},{"provinceName":"宁夏回族自治区","provinceShortName":"宁夏","confirmedCount":26,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","locationId":640000,"cities":[{"cityName":"银川","confirmedCount":15,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":640100},{"cityName":"吴忠","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":640300},{"cityName":"中卫","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":640500},{"cityName":"固原","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":640400},{"cityName":"宁东管委会","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":0}]},{"provinceName":"内蒙古自治区","provinceShortName":"内蒙古","confirmedCount":23,"suspectedCount":0,"curedCount":1,"deadCount":0,"comment":"","locationId":150000,"cities":[{"cityName":"鄂尔多斯","confirmedCount":5,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":150600},{"cityName":"包头","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":150200},{"cityName":"巴彦淖尔","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":150800},{"cityName":"呼和浩特","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":150100},{"cityName":"呼伦贝尔","confirmedCount":2,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":150700},{"cityName":"锡林郭勒盟","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":152500},{"cityName":"赤峰","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":150400},{"cityName":"乌兰察布","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":150900},{"cityName":"兴安盟","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":152200},{"cityName":"通辽","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":150500}]},{"provinceName":"新疆维吾尔自治区","provinceShortName":"新疆","confirmedCount":18,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","locationId":650000,"cities":[{"cityName":"乌鲁木齐","confirmedCount":8,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":650100},{"cityName":"伊犁州","confirmedCount":5,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":654000},{"cityName":"吐鲁番","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":650400},{"cityName":"第七师","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":-1},{"cityName":"第八师","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":0},{"cityName":"阿克苏","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":652901},{"cityName":"第九师","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":0}]},{"provinceName":"吉林省","provinceShortName":"吉林","confirmedCount":17,"suspectedCount":0,"curedCount":1,"deadCount":0,"comment":"","locationId":220000,"cities":[{"cityName":"长春","confirmedCount":7,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":220100},{"cityName":"吉林","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":220000},{"cityName":"松原","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":220700},{"cityName":"延边","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":0},{"cityName":"四平","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":220300},{"cityName":"公主岭","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":220381},{"cityName":"通化","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":220500}]},{"provinceName":"中国香港","provinceShortName":"中国香港","confirmedCount":13,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","locationId":810000,"cities":[]},{"provinceName":"台湾","provinceShortName":"台湾","confirmedCount":10,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","locationId":710000,"cities":[]},{"provinceName":"青海省","provinceShortName":"青海","confirmedCount":9,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","locationId":630000,"cities":[{"cityName":"西宁","confirmedCount":9,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":630100}]},{"provinceName":"中国澳门","provinceShortName":"中国澳门","confirmedCount":7,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","locationId":820000,"cities":[]},{"provinceName":"西藏自治区","provinceShortName":"西藏","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","locationId":540000,"cities":[]}]}catch(e){}</script>

代码demo

 /**
     * 获取全国各个省市的确诊、死亡和治愈人数
     * @return
     */
    public static String getAreaStat(){
        String url="https://ncov.dxy.cn/ncovh5/view/pneumonia";
        //模拟请求
        HttpPojo httpPojo = new HttpPojo();
        httpPojo.setHttpHost("ncov.dxy.cn");
        httpPojo.setHttpAccept("*/*");
        httpPojo.setHttpConnection("keep-alive");
        httpPojo.setHttpUserAgent("Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36");
        httpPojo.setHttpReferer("https://ncov.dxy.cn");
        httpPojo.setHttpOrigin("https://ncov.dxy.cn");
        Map paramObj = new HashMap();
        String htmlResult = httpSendGet(url, paramObj, httpPojo); //整个html页面
        //System.out.println(htmlResult);

        //正则获取数据
        //因为html的数据格式看着就像json格式,所以我们正则获取json
        String reg= "window.getAreaStat = (.*?)\\}(?=catch)";
        Pattern totalPattern = Pattern.compile(reg);
        Matcher totalMatcher = totalPattern.matcher(htmlResult);

        String result="";
        if (totalMatcher.find()){
            result = totalMatcher.group(1);
            System.out.println(result);
            //各个省市的是一个列表List,如果想保存到数据库中,要遍历结果,下面是demo
            /*JSONArray array = JSONArray.parseArray(result);
            JSONObject jsonObject = JSONObject.parseObject(array.getString(0));
            String provinceName = jsonObject.getString("provinceName");
            System.out.println("provinceName:"+provinceName);*/
        }

        return result;
    }

运行效果:可以自行复制打印出来的结果在 在线json格式化网站解析一下看看:http://www.bejson.com/count.html

[{"provinceName":"湖北省","provinceShortName":"湖北","confirmedCount":7153,"suspectedCount":0,"curedCount":168,"deadCount":249,"comment":"待明确地区:治愈 35","locationId":420000,"cities":[{"cityName":"武汉","confirmedCount":3215,"suspectedCount":0,"curedCount":106,"deadCount":192,"locationId":420100},{"cityName":"黄冈","confirmedCount":726,"suspectedCount":0,"curedCount":17,"deadCount":14,"locationId":421100},{"cityName":"孝感","confirmedCount":628,"suspectedCount":0,"curedCount":2,"deadCount":12,"locationId":420900},{"cityName":"襄阳","confirmedCount":347,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":420600},{"cityName":"随州","confirmedCount":304,"suspectedCount":0,"curedCount":0,"deadCount":1,"locationId":421300},{"cityName":"荆州","confirmedCount":287,"suspectedCount":0,"curedCount":2,"deadCount":4,"locationId":421000},{"cityName":"宜昌","confirmedCount":276,"suspectedCount":0,"curedCount":0,"deadCount":1,"locationId":420500},{"cityName":"荆门","confirmedCount":251,"suspectedCount":0,"curedCount":1,"deadCount":5,"locationId":420800},{"cityName":"鄂州","confirmedCount":227,"suspectedCount":0,"curedCount":0,"deadCount":9,"locationId":420700},{"cityName":"黄石","confirmedCount":209,"suspectedCount":0,"curedCount":1,"deadCount":2,"locationId":420200},{"cityName":"咸宁","confirmedCount":206,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":421200},{"cityName":"十堰","confirmedCount":177,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":420300},{"cityName":"仙桃","confirmedCount":97,"suspectedCount":0,"curedCount":0,"deadCount":1,"locationId":429004},{"cityName":"恩施州","confirmedCount":87,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":422800},{"cityName":"天门","confirmedCount":82,"suspectedCount":0,"curedCount":0,"deadCount":7,"locationId":429006},{"cityName":"潜江","confirmedCount":27,"suspectedCount":0,"curedCount":0,"deadCount":1,"locationId":429005},{"cityName":"神农架林区","confirmedCount":7,"suspectedCount":0,"curedCount":2,"deadCount":0,"locationId":429021}]},{"provinceName":"浙江省","provinceShortName":"浙江","confirmedCount":599,"suspectedCount":0,"curedCount":21,"deadCount":0,"comment":"","locationId":330000,"cities":[{"cityName":"温州","confirmedCount":241,"suspectedCount":0,"curedCount":8,"deadCount":0,"locationId":330300},{"cityName":"杭州","confirmedCount":98,"suspectedCount":0,"curedCount":3,"deadCount":0,"locationId":330100},{"cityName":"台州","confirmedCount":95,"suspectedCount":0,"curedCount":4,"deadCount":0,"locationId":331000},{"cityName":"宁波","confirmedCount":55,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":330200},{"cityName":"金华","confirmedCount":34,"suspectedCount":0,"curedCount":3,"deadCount":0,"locationId":330700},{"cityName":"绍兴","confirmedCount":24,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":330600},{"cityName":"嘉兴","confirmedCount":18,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":330400},{"cityName":"衢州","confirmedCount":13,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":330800},{"cityName":"丽水","confirmedCount":8,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":331100},{"cityName":"舟山","confirmedCount":7,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":330900},{"cityName":"湖州","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":330500}]},{"provinceName":"广东省","provinceShortName":"广东","confirmedCount":535,"suspectedCount":0,"curedCount":14,"deadCount":0,"comment":"","locationId":440000,"cities":[{"cityName":"深圳","confirmedCount":170,"suspectedCount":0,"curedCount":5,"deadCount":0,"locationId":440300},{"cityName":"广州","confirmedCount":150,"suspectedCount":0,"curedCount":3,"deadCount":0,"locationId":440100},{"cityName":"佛山","confirmedCount":39,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":440600},{"cityName":"珠海","confirmedCount":38,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":440400},{"cityName":"东莞","confirmedCount":21,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":441900},{"cityName":"惠州","confirmedCount":20,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":441300},{"cityName":"中山","confirmedCount":18,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":442000},{"cityName":"汕头","confirmedCount":14,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":440500},{"cityName":"湛江","confirmedCount":13,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":440800},{"cityName":"阳江","confirmedCount":10,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":441700},{"cityName":"肇庆","confirmedCount":6,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":441200},{"cityName":"清远","confirmedCount":6,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":441800},{"cityName":"揭阳","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":445200},{"cityName":"梅州","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":441400},{"cityName":"韶关","confirmedCount":4,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":440200},{"cityName":"汕尾","confirmedCount":4,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":441500},{"cityName":"茂名","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":440900},{"cityName":"江门","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":440700},{"cityName":"潮州","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":445100},{"cityName":"河源","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":441600}]},{"provinceName":"河南省","provinceShortName":"河南","confirmedCount":422,"suspectedCount":0,"curedCount":3,"deadCount":2,"comment":"待明确地区:治愈 1","locationId":410000,"cities":[{"cityName":"信阳","confirmedCount":70,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":411500},{"cityName":"南阳","confirmedCount":66,"suspectedCount":0,"curedCount":0,"deadCount":2,"locationId":411300},{"cityName":"郑州","confirmedCount":56,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":410100},{"cityName":"驻马店","confirmedCount":40,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":411700},{"cityName":"周口","confirmedCount":38,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":411600},{"cityName":"商丘","confirmedCount":29,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":411400},{"cityName":"安阳","confirmedCount":24,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":410500},{"cityName":"新乡","confirmedCount":21,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":410700},{"cityName":"漯河","confirmedCount":14,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":411100},{"cityName":"许昌","confirmedCount":12,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":411000},{"cityName":"平顶山","confirmedCount":11,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":410400},{"cityName":"开封","confirmedCount":8,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":410200},{"cityName":"三门峡","confirmedCount":7,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":411200},{"cityName":"永城","confirmedCount":7,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":411481},{"cityName":"鹤壁","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":410600},{"cityName":"洛阳","confirmedCount":5,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":410300},{"cityName":"濮阳","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":410900},{"cityName":"焦作","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":410800},{"cityName":"长垣","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":0},{"cityName":"滑县","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":410526}]},{"provinceName":"湖南省","provinceShortName":"湖南","confirmedCount":389,"suspectedCount":0,"curedCount":8,"deadCount":0,"comment":"","locationId":430000,"cities":[{"cityName":"长沙","confirmedCount":86,"suspectedCount":0,"curedCount":2,"deadCount":0,"locationId":430100},{"cityName":"岳阳","confirmedCount":45,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":430600},{"cityName":"邵阳","confirmedCount":41,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":430500},{"cityName":"常德","confirmedCount":39,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":430700},{"cityName":"怀化","confirmedCount":28,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":431200},{"cityName":"娄底","confirmedCount":26,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":431300},{"cityName":"衡阳","confirmedCount":26,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":430400},{"cityName":"益阳","confirmedCount":24,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":430900},{"cityName":"株洲","confirmedCount":22,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":430200},{"cityName":"永州","confirmedCount":18,"suspectedCount":0,"curedCount":2,"deadCount":0,"locationId":431100},{"cityName":"湘潭","confirmedCount":13,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":430300},{"cityName":"郴州","confirmedCount":13,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":431000},{"cityName":"湘西自治州","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":433100},{"cityName":"张家界","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":430800}]},{"provinceName":"安徽省","provinceShortName":"安徽","confirmedCount":297,"suspectedCount":0,"curedCount":5,"deadCount":0,"comment":"","locationId":340000,"cities":[{"cityName":"合肥","confirmedCount":59,"suspectedCount":0,"curedCount":2,"deadCount":0,"locationId":340100},{"cityName":"阜阳","confirmedCount":47,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":341200},{"cityName":"安庆","confirmedCount":31,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":340800},{"cityName":"亳州","confirmedCount":25,"suspectedCount":0,"curedCount":2,"deadCount":0,"locationId":341600},{"cityName":"马鞍山","confirmedCount":22,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":340500},{"cityName":"蚌埠","confirmedCount":16,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":340300},{"cityName":"铜陵","confirmedCount":16,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":340700},{"cityName":"芜湖","confirmedCount":15,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":340200},{"cityName":"六安","confirmedCount":13,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":341500},{"cityName":"宿州","confirmedCount":12,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":341300},{"cityName":"黄山","confirmedCount":9,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":341000},{"cityName":"淮南","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":340400},{"cityName":"宿松","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":0},{"cityName":"滁州","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":341100},{"cityName":"淮北","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":340600},{"cityName":"池州","confirmedCount":4,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":341700},{"cityName":"宣城","confirmedCount":4,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":341800}]},{"provinceName":"江西省","provinceShortName":"江西","confirmedCount":286,"suspectedCount":0,"curedCount":9,"deadCount":0,"comment":"待明确地区治愈2例","locationId":360000,"cities":[{"cityName":"南昌","confirmedCount":83,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":360100},{"cityName":"九江","confirmedCount":43,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":360400},{"cityName":"新余","confirmedCount":40,"suspectedCount":0,"curedCount":2,"deadCount":0,"locationId":360500},{"cityName":"赣州","confirmedCount":30,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":360700},{"cityName":"宜春","confirmedCount":29,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":360900},{"cityName":"抚州","confirmedCount":18,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":361000},{"cityName":"上饶","confirmedCount":16,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":361100},{"cityName":"吉安","confirmedCount":11,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":360800},{"cityName":"萍乡","confirmedCount":9,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":360300},{"cityName":"鹰潭","confirmedCount":4,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":360600},{"cityName":"景德镇","confirmedCount":3,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":360200}]},{"provinceName":"重庆市","provinceShortName":"重庆","confirmedCount":247,"suspectedCount":0,"curedCount":3,"deadCount":1,"comment":"","locationId":500000,"cities":[{"cityName":"万州区","confirmedCount":39,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500101},{"cityName":"云阳县","confirmedCount":18,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500235},{"cityName":"开州区","confirmedCount":16,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500154},{"cityName":"忠县","confirmedCount":12,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500233},{"cityName":"江北区","confirmedCount":12,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500105},{"cityName":"渝北区","confirmedCount":11,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500112},{"cityName":"垫江县","confirmedCount":11,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500231},{"cityName":"巫溪县","confirmedCount":10,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500238},{"cityName":"两江新区","confirmedCount":10,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":-1},{"cityName":"长寿区","confirmedCount":10,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500115},{"cityName":"石柱县","confirmedCount":10,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500240},{"cityName":"九龙坡区","confirmedCount":9,"suspectedCount":0,"curedCount":0,"deadCount":1,"locationId":500107},{"cityName":"合川区","confirmedCount":8,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500117},{"cityName":"璧山区","confirmedCount":8,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500120},{"cityName":"渝中区","confirmedCount":7,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500103},{"cityName":"大渡口区","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500104},{"cityName":"巫山县","confirmedCount":6,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":500237},{"cityName":"奉节县","confirmedCount":5,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500236},{"cityName":"丰都县","confirmedCount":5,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":500230},{"cityName":"綦江区","confirmedCount":4,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500110},{"cityName":"大足区","confirmedCount":4,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500111},{"cityName":"江津区","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500116},{"cityName":"永川区","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500118},{"cityName":"南岸区","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500108},{"cityName":"铜梁区","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500151},{"cityName":"潼南区","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500152},{"cityName":"梁平区","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500155},{"cityName":"黔江区","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500114},{"cityName":"荣昌区","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500153},{"cityName":"沙坪坝区","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500106},{"cityName":"涪陵区","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500102},{"cityName":"巴南区","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500113},{"cityName":"城口县","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500229},{"cityName":"秀山县","confirmedCount":1,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":500241},{"cityName":"武隆区","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":500156}]},{"provinceName":"四川省","provinceShortName":"四川","confirmedCount":207,"suspectedCount":0,"curedCount":3,"deadCount":1,"comment":"","locationId":510000,"cities":[{"cityName":"成都","confirmedCount":72,"suspectedCount":0,"curedCount":3,"deadCount":1,"locationId":510100},{"cityName":"广安","confirmedCount":16,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":511600},{"cityName":"南充","confirmedCount":16,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":511300},{"cityName":"绵阳","confirmedCount":12,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":510700},{"cityName":"内江","confirmedCount":10,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":511000},{"cityName":"达州","confirmedCount":9,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":511700},{"cityName":"自贡","confirmedCount":9,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":510300},{"cityName":"巴中","confirmedCount":8,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":511900},{"cityName":"德阳","confirmedCount":7,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":510600},{"cityName":"宜宾","confirmedCount":7,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":511500},{"cityName":"攀枝花","confirmedCount":7,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":510400},{"cityName":"遂宁","confirmedCount":5,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":510900},{"cityName":"雅安","confirmedCount":5,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":511800},{"cityName":"泸州","confirmedCount":5,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":510500},{"cityName":"甘孜州","confirmedCount":5,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":513300},{"cityName":"凉山州","confirmedCount":5,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":513400},{"cityName":"乐山","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":511100},{"cityName":"眉山","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":511400},{"cityName":"资阳","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":512000},{"cityName":"广元","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":510800},{"cityName":"阿坝州","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":0}]},{"provinceName":"山东省","provinceShortName":"山东","confirmedCount":206,"suspectedCount":0,"curedCount":3,"deadCount":0,"comment":"","locationId":370000,"cities":[{"cityName":"威海","confirmedCount":24,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":371000},{"cityName":"临沂","confirmedCount":23,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":371300},{"cityName":"青岛","confirmedCount":21,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":370200},{"cityName":"烟台","confirmedCount":20,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":370600},{"cityName":"济南","confirmedCount":18,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":370100},{"cityName":"德州","confirmedCount":17,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":371400},{"cityName":"枣庄","confirmedCount":12,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":370400},{"cityName":"济宁","confirmedCount":11,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":370800},{"cityName":"日照","confirmedCount":10,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":371100},{"cityName":"淄博","confirmedCount":10,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":370300},{"cityName":"潍坊","confirmedCount":9,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":370700},{"cityName":"滨州","confirmedCount":9,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":371600},{"cityName":"聊城","confirmedCount":8,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":371500},{"cityName":"菏泽","confirmedCount":8,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":371700},{"cityName":"泰安","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":370900}]},{"provinceName":"江苏省","provinceShortName":"江苏","confirmedCount":202,"suspectedCount":0,"curedCount":6,"deadCount":0,"comment":"","locationId":320000,"cities":[{"cityName":"苏州","confirmedCount":34,"suspectedCount":0,"curedCount":2,"deadCount":0,"locationId":320500},{"cityName":"南京","confirmedCount":28,"suspectedCount":0,"curedCount":2,"deadCount":0,"locationId":320100},{"cityName":"徐州","confirmedCount":23,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":320300},{"cityName":"泰州","confirmedCount":17,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":321200},{"cityName":"常州","confirmedCount":14,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":320400},{"cityName":"连云港","confirmedCount":13,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":320700},{"cityName":"无锡","confirmedCount":13,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":320200},{"cityName":"扬州","confirmedCount":13,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":321000},{"cityName":"盐城","confirmedCount":13,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":320900},{"cityName":"南通","confirmedCount":12,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":320600},{"cityName":"淮安","confirmedCount":12,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":320800},{"cityName":"宿迁","confirmedCount":8,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":321300},{"cityName":"镇江","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":321100}]},{"provinceName":"上海市","provinceShortName":"上海","confirmedCount":169,"suspectedCount":0,"curedCount":10,"deadCount":1,"comment":"治愈数据统一归属上海市公卫临床中心,暂无具体分区","locationId":310000,"cities":[{"cityName":"外地来沪人员","confirmedCount":73,"suspectedCount":0,"curedCount":5,"deadCount":1,"locationId":-1},{"cityName":"浦东新区","confirmedCount":32,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":310115},{"cityName":"静安区","confirmedCount":8,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":310106},{"cityName":"宝山区","confirmedCount":8,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":310113},{"cityName":"闵行区","confirmedCount":7,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":310112},{"cityName":"长宁区","confirmedCount":7,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":310105},{"cityName":"徐汇区","confirmedCount":7,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":310104},{"cityName":"虹口区","confirmedCount":5,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":310109},{"cityName":"黄浦区","confirmedCount":5,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":310101},{"cityName":"奉贤区","confirmedCount":5,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":310120},{"cityName":"松江区","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":310117},{"cityName":"青浦区","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":310118},{"cityName":"杨浦区","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":310110},{"cityName":"嘉定区","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":310114},{"cityName":"普陀区","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":310107},{"cityName":"金山区","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":310116},{"cityName":"未知地区","confirmedCount":0,"suspectedCount":0,"curedCount":5,"deadCount":0,"locationId":0}]},{"provinceName":"北京市","provinceShortName":"北京","confirmedCount":168,"suspectedCount":0,"curedCount":9,"deadCount":1,"comment":"待明确地区:死亡 1,治愈 5","locationId":110000,"cities":[{"cityName":"海淀区","confirmedCount":39,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":110108},{"cityName":"朝阳区","confirmedCount":28,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":110105},{"cityName":"大兴区","confirmedCount":20,"suspectedCount":0,"curedCount":2,"deadCount":0,"locationId":110115},{"cityName":"西城区","confirmedCount":17,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":110102},{"cityName":"丰台区","confirmedCount":16,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":110106},{"cityName":"通州区","confirmedCount":13,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":110112},{"cityName":"昌平区","confirmedCount":12,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":110114},{"cityName":"外地来京人员","confirmedCount":11,"suspectedCount":0,"curedCount":2,"deadCount":0,"locationId":-1},{"cityName":"石景山区","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":110107},{"cityName":"东城区","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":110101},{"cityName":"顺义区","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":110113},{"cityName":"房山区","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":110111},{"cityName":"门头沟区","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":110109},{"cityName":"怀柔区","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":110116}]},{"provinceName":"福建省","provinceShortName":"福建","confirmedCount":144,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","locationId":350000,"cities":[{"cityName":"福州","confirmedCount":39,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":350100},{"cityName":"莆田","confirmedCount":25,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":350300},{"cityName":"泉州","confirmedCount":24,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":350500},{"cityName":"厦门","confirmedCount":17,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":350200},{"cityName":"漳州","confirmedCount":11,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":350600},{"cityName":"三明","confirmedCount":10,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":350400},{"cityName":"宁德","confirmedCount":9,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":350900},{"cityName":"南平","confirmedCount":8,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":350700},{"cityName":"龙岩","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":350800}]},{"provinceName":"陕西省","provinceShortName":"陕西","confirmedCount":101,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","locationId":610000,"cities":[{"cityName":"西安","confirmedCount":39,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":610100},{"cityName":"安康","confirmedCount":14,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":610900},{"cityName":"汉中","confirmedCount":13,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":610700},{"cityName":"咸阳","confirmedCount":8,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":610400},{"cityName":"延安","confirmedCount":7,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":610600},{"cityName":"宝鸡","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":610300},{"cityName":"铜川","confirmedCount":5,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":610200},{"cityName":"渭南","confirmedCount":5,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":610500},{"cityName":"商洛","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":611000},{"cityName":"榆林","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":610800},{"cityName":"韩城","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":610581}]},{"provinceName":"广西壮族自治区","provinceShortName":"广西","confirmedCount":100,"suspectedCount":0,"curedCount":2,"deadCount":0,"comment":"","locationId":450000,"cities":[{"cityName":"北海","confirmedCount":23,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":450500},{"cityName":"桂林","confirmedCount":21,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":450300},{"cityName":"南宁","confirmedCount":16,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":450100},{"cityName":"柳州","confirmedCount":12,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":450200},{"cityName":"防城港","confirmedCount":8,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":450600},{"cityName":"河池","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":451200},{"cityName":"梧州","confirmedCount":5,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":450400},{"cityName":"玉林","confirmedCount":5,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":450900},{"cityName":"百色","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":451000},{"cityName":"钦州","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":450700},{"cityName":"贺州","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":451100}]},{"provinceName":"河北省","provinceShortName":"河北","confirmedCount":96,"suspectedCount":0,"curedCount":0,"deadCount":1,"comment":"","locationId":130000,"cities":[{"cityName":"沧州","confirmedCount":19,"suspectedCount":0,"curedCount":0,"deadCount":1,"locationId":130900},{"cityName":"石家庄","confirmedCount":12,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":130100},{"cityName":"保定","confirmedCount":11,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":130600},{"cityName":"廊坊","confirmedCount":11,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":131000},{"cityName":"邯郸","confirmedCount":10,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":130400},{"cityName":"邢台","confirmedCount":10,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":130500},{"cityName":"唐山","confirmedCount":8,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":130200},{"cityName":"张家口","confirmedCount":8,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":130700},{"cityName":"衡水","confirmedCount":4,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":131100},{"cityName":"承德","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":130800},{"cityName":"秦皇岛","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":130300}]},{"provinceName":"云南省","provinceShortName":"云南","confirmedCount":93,"suspectedCount":0,"curedCount":2,"deadCount":0,"comment":"","locationId":530000,"cities":[{"cityName":"昆明","confirmedCount":30,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":530100},{"cityName":"西双版纳","confirmedCount":12,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":532800},{"cityName":"保山","confirmedCount":8,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":530500},{"cityName":"玉溪","confirmedCount":7,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":530400},{"cityName":"丽江","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":530700},{"cityName":"大理","confirmedCount":6,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":532901},{"cityName":"昭通","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":530600},{"cityName":"曲靖","confirmedCount":5,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":530300},{"cityName":"红河","confirmedCount":5,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":532500},{"cityName":"普洱","confirmedCount":4,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":530800},{"cityName":"德宏","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":533100},{"cityName":"临沧","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":530900}]},{"provinceName":"黑龙江省","provinceShortName":"黑龙江","confirmedCount":80,"suspectedCount":0,"curedCount":2,"deadCount":2,"comment":"","locationId":230000,"cities":[{"cityName":"哈尔滨","confirmedCount":25,"suspectedCount":0,"curedCount":2,"deadCount":0,"locationId":230100},{"cityName":"绥化","confirmedCount":13,"suspectedCount":0,"curedCount":0,"deadCount":2,"locationId":231200},{"cityName":"佳木斯","confirmedCount":11,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":230800},{"cityName":"大庆","confirmedCount":8,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":230600},{"cityName":"牡丹江","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":231000},{"cityName":"七台河","confirmedCount":5,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":230900},{"cityName":"鸡西","confirmedCount":4,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":230300},{"cityName":"齐齐哈尔","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":230200},{"cityName":"双鸭山","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":230500},{"cityName":"大兴安岭","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":0},{"cityName":"鹤岗","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":230400}]},{"provinceName":"辽宁省","provinceShortName":"辽宁","confirmedCount":64,"suspectedCount":0,"curedCount":1,"deadCount":0,"comment":"","locationId":210000,"cities":[{"cityName":"沈阳","confirmedCount":13,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":210100},{"cityName":"大连","confirmedCount":10,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":210200},{"cityName":"盘锦","confirmedCount":7,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":211100},{"cityName":"锦州","confirmedCount":7,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":210700},{"cityName":"朝阳","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":211300},{"cityName":"丹东","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":210600},{"cityName":"葫芦岛","confirmedCount":5,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":211400},{"cityName":"本溪","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":210500},{"cityName":"铁岭","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":211200},{"cityName":"阜新","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":210900},{"cityName":"营口","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":210800},{"cityName":"辽阳","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":211000},{"cityName":"鞍山","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":210300}]},{"provinceName":"海南省","provinceShortName":"海南","confirmedCount":62,"suspectedCount":0,"curedCount":1,"deadCount":1,"comment":"待明确地区:确诊 2","locationId":460000,"cities":[{"cityName":"三亚","confirmedCount":15,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":460200},{"cityName":"海口","confirmedCount":11,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":460100},{"cityName":"万宁","confirmedCount":8,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":469006},{"cityName":"儋州","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":460400},{"cityName":"琼海","confirmedCount":5,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":469002},{"cityName":"陵水","confirmedCount":5,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":0},{"cityName":"临高","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":0},{"cityName":"澄迈","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":1,"locationId":0},{"cityName":"东方","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":469007},{"cityName":"琼中","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":0},{"cityName":"定安","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":0},{"cityName":"昌江","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":0},{"cityName":"乐东","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":0}]},{"provinceName":"山西省","provinceShortName":"山西","confirmedCount":47,"suspectedCount":0,"curedCount":1,"deadCount":0,"comment":"","locationId":140000,"cities":[{"cityName":"晋中","confirmedCount":11,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":140700},{"cityName":"运城","confirmedCount":10,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":140800},{"cityName":"大同","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":140200},{"cityName":"吕梁","confirmedCount":5,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":141100},{"cityName":"太原","confirmedCount":4,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":140100},{"cityName":"长治","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":140400},{"cityName":"朔州","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":140600},{"cityName":"晋城","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":140500},{"cityName":"阳泉","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":140300},{"cityName":"临汾","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":141000},{"cityName":"忻州","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":140900}]},{"provinceName":"天津市","provinceShortName":"天津","confirmedCount":41,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","locationId":120000,"cities":[{"cityName":"河北区","confirmedCount":9,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":120105},{"cityName":"河东区","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":120102},{"cityName":"外地来津人员","confirmedCount":4,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":0},{"cityName":"河西区","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":120103},{"cityName":"和平区","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":120101},{"cityName":"宝坻区","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":120115},{"cityName":"东丽区","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":120110},{"cityName":"西青区","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":120111},{"cityName":"滨海新区","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":120116},{"cityName":"南开区","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":120104},{"cityName":"红桥区","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":120106},{"cityName":"宁河区","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":120117}]},{"provinceName":"甘肃省","provinceShortName":"甘肃","confirmedCount":40,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","locationId":620000,"cities":[{"cityName":"兰州","confirmedCount":23,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":620100},{"cityName":"陇南","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":621200},{"cityName":"天水","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":620500},{"cityName":"定西","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":621100},{"cityName":"临夏","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":622901},{"cityName":"张掖","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":620700},{"cityName":"白银","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":620400},{"cityName":"金昌","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":620300},{"cityName":"平凉","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":620800},{"cityName":"甘南","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":0}]},{"provinceName":"贵州省","provinceShortName":"贵州","confirmedCount":29,"suspectedCount":0,"curedCount":2,"deadCount":0,"comment":"","locationId":520000,"cities":[{"cityName":"六盘水","confirmedCount":8,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":520200},{"cityName":"黔南州","confirmedCount":4,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":522700},{"cityName":"贵阳","confirmedCount":4,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":520100},{"cityName":"遵义","confirmedCount":4,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":520300},{"cityName":"铜仁","confirmedCount":3,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":520600},{"cityName":"毕节","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":520500},{"cityName":"黔东南州","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":0},{"cityName":"黔西南州","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":522300}]},{"provinceName":"宁夏回族自治区","provinceShortName":"宁夏","confirmedCount":26,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","locationId":640000,"cities":[{"cityName":"银川","confirmedCount":15,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":640100},{"cityName":"吴忠","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":640300},{"cityName":"中卫","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":640500},{"cityName":"固原","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":640400},{"cityName":"宁东管委会","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":0}]},{"provinceName":"内蒙古自治区","provinceShortName":"内蒙古","confirmedCount":23,"suspectedCount":0,"curedCount":1,"deadCount":0,"comment":"","locationId":150000,"cities":[{"cityName":"鄂尔多斯","confirmedCount":5,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":150600},{"cityName":"包头","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":150200},{"cityName":"巴彦淖尔","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":150800},{"cityName":"呼和浩特","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":150100},{"cityName":"呼伦贝尔","confirmedCount":2,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":150700},{"cityName":"锡林郭勒盟","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":152500},{"cityName":"赤峰","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":150400},{"cityName":"乌兰察布","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":150900},{"cityName":"兴安盟","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":152200},{"cityName":"通辽","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":150500}]},{"provinceName":"新疆维吾尔自治区","provinceShortName":"新疆","confirmedCount":18,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","locationId":650000,"cities":[{"cityName":"乌鲁木齐","confirmedCount":8,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":650100},{"cityName":"伊犁州","confirmedCount":5,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":654000},{"cityName":"吐鲁番","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":650400},{"cityName":"第七师","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":-1},{"cityName":"第八师","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":0},{"cityName":"阿克苏","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":652901},{"cityName":"第九师","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":0}]},{"provinceName":"吉林省","provinceShortName":"吉林","confirmedCount":17,"suspectedCount":0,"curedCount":1,"deadCount":0,"comment":"","locationId":220000,"cities":[{"cityName":"长春","confirmedCount":7,"suspectedCount":0,"curedCount":1,"deadCount":0,"locationId":220100},{"cityName":"吉林","confirmedCount":3,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":220000},{"cityName":"松原","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":220700},{"cityName":"延边","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":0},{"cityName":"四平","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":220300},{"cityName":"公主岭","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":220381},{"cityName":"通化","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":220500}]},{"provinceName":"中国香港","provinceShortName":"中国香港","confirmedCount":13,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","locationId":810000,"cities":[]},{"provinceName":"台湾","provinceShortName":"台湾","confirmedCount":10,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","locationId":710000,"cities":[]},{"provinceName":"青海省","provinceShortName":"青海","confirmedCount":9,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","locationId":630000,"cities":[{"cityName":"西宁","confirmedCount":9,"suspectedCount":0,"curedCount":0,"deadCount":0,"locationId":630100}]},{"provinceName":"中国澳门","provinceShortName":"中国澳门","confirmedCount":7,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","locationId":820000,"cities":[]},{"provinceName":"西藏自治区","provinceShortName":"西藏","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","locationId":540000,"cities":[]},{"provinceName":"待明确地区","provinceShortName":"待明确地区","confirmedCount":0,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","locationId":0,"cities":[]}]

3、获取全球各个国家的数据

<script id="getListByCountryTypeService2">try { window.getListByCountryTypeService2 = [{"id":953,"createTime":1580027704000,"modifyTime":1580561200000,"tags":"","countryType":2,"continents":"亚洲","provinceId":"6","provinceName":"日本","provinceShortName":"","cityName":"","confirmedCount":20,"suspectedCount":0,"curedCount":1,"deadCount":0,"comment":"","sort":0,"operator":"xuyt","locationId":951002},{"id":949,"createTime":1580027637000,"modifyTime":1580495765000,"tags":"","countryType":2,"continents":"亚洲","provinceId":"2","provinceName":"泰国","provinceShortName":"","cityName":"","confirmedCount":19,"suspectedCount":0,"curedCount":5,"deadCount":0,"comment":"","sort":0,"operator":"xuyt","locationId":952010},{"id":950,"createTime":1580027655000,"modifyTime":1580527256000,"tags":"","countryType":2,"continents":"亚洲","provinceId":"3","provinceName":"新加坡","provinceShortName":"","cityName":"","confirmedCount":16,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","sort":0,"operator":"xuyt","locationId":952009},{"id":954,"createTime":1580027721000,"modifyTime":1580553252000,"tags":"","countryType":2,"continents":"亚洲","provinceId":"7","provinceName":"韩国","provinceShortName":"","cityName":"","confirmedCount":12,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","sort":0,"operator":"xuyt","locationId":951004},{"id":958,"createTime":1580027777000,"modifyTime":1580495804000,"tags":"","countryType":2,"continents":"大洋洲","provinceId":"10","provinceName":"澳大利亚","provinceShortName":"","cityName":"","confirmedCount":9,"suspectedCount":0,"curedCount":2,"deadCount":0,"comment":"","sort":0,"operator":"xuyt","locationId":990001},{"id":951,"createTime":1580027668000,"modifyTime":1580495813000,"tags":"","countryType":2,"continents":"亚洲","provinceId":"4","provinceName":"马来西亚","provinceShortName":"","cityName":"","confirmedCount":8,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","sort":0,"operator":"xuyt","locationId":952007},{"id":1047,"createTime":1580167302000,"modifyTime":1580512479000,"tags":"","countryType":2,"continents":"欧洲","provinceId":"10","provinceName":"德国","provinceShortName":"","cityName":"","confirmedCount":7,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","sort":0,"operator":"shiweiyi","locationId":963003},{"id":952,"createTime":1580027683000,"modifyTime":1580516875000,"tags":"","countryType":2,"continents":"欧洲","provinceId":"5","provinceName":"法国","provinceShortName":"","cityName":"","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","sort":0,"operator":"xuyt","locationId":961002},{"id":955,"createTime":1580027735000,"modifyTime":1580495823000,"tags":"","countryType":2,"continents":"北美洲","provinceId":"8","provinceName":"美国","provinceShortName":"","cityName":"","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","sort":0,"operator":"xuyt","locationId":971002},{"id":956,"createTime":1580027751000,"modifyTime":1580539329000,"tags":"","countryType":2,"continents":"亚洲","provinceId":"9","provinceName":"越南","provinceShortName":"","cityName":"","confirmedCount":6,"suspectedCount":0,"curedCount":1,"deadCount":0,"comment":"","sort":0,"operator":"xuyt","locationId":952011},{"id":959,"createTime":1580027795000,"modifyTime":1580552879000,"tags":"","countryType":2,"continents":"北美洲","provinceId":"10","provinceName":"加拿大","provinceShortName":"","cityName":"","confirmedCount":4,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","sort":0,"operator":"xuyt","locationId":971001},{"id":1650,"createTime":1580276720000,"modifyTime":1580495885000,"tags":"","countryType":2,"continents":"亚洲","provinceId":"10","provinceName":"阿联酋","provinceShortName":"","cityName":"","confirmedCount":4,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","sort":0,"operator":"yuting","locationId":955019},{"id":1957,"createTime":1580425693000,"modifyTime":1580516912000,"tags":"","countryType":2,"continents":"欧洲","provinceId":"10","provinceName":"意大利","provinceShortName":"","cityName":"","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","sort":0,"operator":"shiweiyi","locationId":965008},{"id":2280,"createTime":1580464639000,"modifyTime":1580495938000,"tags":"","countryType":2,"continents":"欧洲","provinceId":"10","provinceName":"英国","provinceShortName":"","cityName":"","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","sort":0,"operator":"leimanman","locationId":961007},{"id":2281,"createTime":1580476133000,"modifyTime":1580495947000,"tags":"","countryType":2,"continents":"欧洲","provinceId":"10","provinceName":"俄罗斯","provinceShortName":"","cityName":"","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","sort":0,"operator":"hekaiqi","locationId":964006},{"id":957,"createTime":1580027764000,"modifyTime":1580495955000,"tags":"","countryType":2,"continents":"亚洲","provinceId":"10","provinceName":"尼泊尔","provinceShortName":"","cityName":"","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","sort":0,"operator":"xuyt","locationId":953005},{"id":1023,"createTime":1580130061000,"modifyTime":1580495965000,"tags":"","countryType":2,"continents":"亚洲","provinceId":"10","provinceName":"柬埔寨","provinceShortName":"","cityName":"","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","sort":0,"operator":"hanting","locationId":952003},{"id":1306,"createTime":1580182019000,"modifyTime":1580495982000,"tags":"","countryType":2,"continents":"亚洲","provinceId":"10","provinceName":"斯里兰卡","provinceShortName":"","cityName":"","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","sort":0,"operator":"zhuotingting","locationId":953007},{"id":1656,"createTime":1580337882000,"modifyTime":1580495991000,"tags":"","countryType":2,"continents":"欧洲","provinceId":"10","provinceName":"芬兰","provinceShortName":"","cityName":"","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","sort":0,"operator":"zhuotingting","locationId":962002},{"id":1954,"createTime":1580375521000,"modifyTime":1580495998000,"tags":"","countryType":2,"continents":"亚洲","provinceId":"10","provinceName":"印度","provinceShortName":"","cityName":"","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","sort":0,"operator":"gaoh","locationId":953003},{"id":2293,"createTime":1580512517000,"modifyTime":1580514491000,"tags":"","countryType":2,"continents":"欧洲","provinceId":"10","provinceName":"西班牙","provinceShortName":"","cityName":"","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","sort":0,"operator":"zhuotingting","locationId":965015},{"id":2596,"createTime":1580516851000,"modifyTime":1580516851000,"tags":"","countryType":2,"continents":"欧洲","provinceId":"10","provinceName":"瑞典","provinceShortName":"","cityName":"","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","sort":0,"operator":"leimanman","locationId":962005},{"id":2870,"createTime":1580566796000,"modifyTime":1580566796000,"tags":"","countryType":2,"continents":"亚洲","provinceId":"10","provinceName":"菲律宾","provinceShortName":"","cityName":"","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","sort":0,"operator":"hekaiqi","locationId":952008}]}catch(e){}</script>

代码demo

/**
     * 获取全球各个国家的确诊、死亡和治愈人数
     * @return
     */
    public static String getListByCountryTypeService2(){
        String url="https://ncov.dxy.cn/ncovh5/view/pneumonia";
        //模拟请求
        HttpPojo httpPojo = new HttpPojo();
        httpPojo.setHttpHost("ncov.dxy.cn");
        httpPojo.setHttpAccept("*/*");
        httpPojo.setHttpConnection("keep-alive");
        httpPojo.setHttpUserAgent("Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36");
        httpPojo.setHttpReferer("https://ncov.dxy.cn");
        httpPojo.setHttpOrigin("https://ncov.dxy.cn");
        Map paramObj = new HashMap();
        String htmlResult = httpSendGet(url, paramObj, httpPojo); //整个html页面
        //System.out.println(htmlResult);

        //正则获取数据
        //因为html的数据格式看着就像json格式,所以我们正则获取json
        String reg= "window.getListByCountryTypeService2 = (.*?)\\}(?=catch)";
        Pattern totalPattern = Pattern.compile(reg);
        Matcher totalMatcher = totalPattern.matcher(htmlResult);

        String result="";
        if (totalMatcher.find()){
            result = totalMatcher.group(1);
            System.out.println(result);
            //各个国家的是一个列表List,如果想保存到数据库中,要遍历结果,下面是demo
            /*JSONArray array = JSONArray.parseArray(result);
            JSONObject jsonObject = JSONObject.parseObject(array.getString(0));
            String provinceName = jsonObject.getString("continents");
            System.out.println("continents:"+provinceName);*/
        }

        return result;
    }

运行效果

[{"id":953,"createTime":1580027704000,"modifyTime":1580561200000,"tags":"","countryType":2,"continents":"亚洲","provinceId":"6","provinceName":"日本","provinceShortName":"","cityName":"","confirmedCount":20,"suspectedCount":0,"curedCount":1,"deadCount":0,"comment":"","sort":0,"operator":"xuyt","locationId":951002},{"id":949,"createTime":1580027637000,"modifyTime":1580495765000,"tags":"","countryType":2,"continents":"亚洲","provinceId":"2","provinceName":"泰国","provinceShortName":"","cityName":"","confirmedCount":19,"suspectedCount":0,"curedCount":5,"deadCount":0,"comment":"","sort":0,"operator":"xuyt","locationId":952010},{"id":950,"createTime":1580027655000,"modifyTime":1580527256000,"tags":"","countryType":2,"continents":"亚洲","provinceId":"3","provinceName":"新加坡","provinceShortName":"","cityName":"","confirmedCount":16,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","sort":0,"operator":"xuyt","locationId":952009},{"id":954,"createTime":1580027721000,"modifyTime":1580553252000,"tags":"","countryType":2,"continents":"亚洲","provinceId":"7","provinceName":"韩国","provinceShortName":"","cityName":"","confirmedCount":12,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","sort":0,"operator":"xuyt","locationId":951004},{"id":958,"createTime":1580027777000,"modifyTime":1580495804000,"tags":"","countryType":2,"continents":"大洋洲","provinceId":"10","provinceName":"澳大利亚","provinceShortName":"","cityName":"","confirmedCount":9,"suspectedCount":0,"curedCount":2,"deadCount":0,"comment":"","sort":0,"operator":"xuyt","locationId":990001},{"id":951,"createTime":1580027668000,"modifyTime":1580495813000,"tags":"","countryType":2,"continents":"亚洲","provinceId":"4","provinceName":"马来西亚","provinceShortName":"","cityName":"","confirmedCount":8,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","sort":0,"operator":"xuyt","locationId":952007},{"id":1047,"createTime":1580167302000,"modifyTime":1580512479000,"tags":"","countryType":2,"continents":"欧洲","provinceId":"10","provinceName":"德国","provinceShortName":"","cityName":"","confirmedCount":7,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","sort":0,"operator":"shiweiyi","locationId":963003},{"id":952,"createTime":1580027683000,"modifyTime":1580516875000,"tags":"","countryType":2,"continents":"欧洲","provinceId":"5","provinceName":"法国","provinceShortName":"","cityName":"","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","sort":0,"operator":"xuyt","locationId":961002},{"id":955,"createTime":1580027735000,"modifyTime":1580495823000,"tags":"","countryType":2,"continents":"北美洲","provinceId":"8","provinceName":"美国","provinceShortName":"","cityName":"","confirmedCount":6,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","sort":0,"operator":"xuyt","locationId":971002},{"id":956,"createTime":1580027751000,"modifyTime":1580539329000,"tags":"","countryType":2,"continents":"亚洲","provinceId":"9","provinceName":"越南","provinceShortName":"","cityName":"","confirmedCount":6,"suspectedCount":0,"curedCount":1,"deadCount":0,"comment":"","sort":0,"operator":"xuyt","locationId":952011},{"id":959,"createTime":1580027795000,"modifyTime":1580552879000,"tags":"","countryType":2,"continents":"北美洲","provinceId":"10","provinceName":"加拿大","provinceShortName":"","cityName":"","confirmedCount":4,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","sort":0,"operator":"xuyt","locationId":971001},{"id":1650,"createTime":1580276720000,"modifyTime":1580495885000,"tags":"","countryType":2,"continents":"亚洲","provinceId":"10","provinceName":"阿联酋","provinceShortName":"","cityName":"","confirmedCount":4,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","sort":0,"operator":"yuting","locationId":955019},{"id":1957,"createTime":1580425693000,"modifyTime":1580516912000,"tags":"","countryType":2,"continents":"欧洲","provinceId":"10","provinceName":"意大利","provinceShortName":"","cityName":"","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","sort":0,"operator":"shiweiyi","locationId":965008},{"id":2280,"createTime":1580464639000,"modifyTime":1580495938000,"tags":"","countryType":2,"continents":"欧洲","provinceId":"10","provinceName":"英国","provinceShortName":"","cityName":"","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","sort":0,"operator":"leimanman","locationId":961007},{"id":2281,"createTime":1580476133000,"modifyTime":1580495947000,"tags":"","countryType":2,"continents":"欧洲","provinceId":"10","provinceName":"俄罗斯","provinceShortName":"","cityName":"","confirmedCount":2,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","sort":0,"operator":"hekaiqi","locationId":964006},{"id":957,"createTime":1580027764000,"modifyTime":1580495955000,"tags":"","countryType":2,"continents":"亚洲","provinceId":"10","provinceName":"尼泊尔","provinceShortName":"","cityName":"","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","sort":0,"operator":"xuyt","locationId":953005},{"id":1023,"createTime":1580130061000,"modifyTime":1580495965000,"tags":"","countryType":2,"continents":"亚洲","provinceId":"10","provinceName":"柬埔寨","provinceShortName":"","cityName":"","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","sort":0,"operator":"hanting","locationId":952003},{"id":1306,"createTime":1580182019000,"modifyTime":1580495982000,"tags":"","countryType":2,"continents":"亚洲","provinceId":"10","provinceName":"斯里兰卡","provinceShortName":"","cityName":"","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","sort":0,"operator":"zhuotingting","locationId":953007},{"id":1656,"createTime":1580337882000,"modifyTime":1580495991000,"tags":"","countryType":2,"continents":"欧洲","provinceId":"10","provinceName":"芬兰","provinceShortName":"","cityName":"","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","sort":0,"operator":"zhuotingting","locationId":962002},{"id":1954,"createTime":1580375521000,"modifyTime":1580495998000,"tags":"","countryType":2,"continents":"亚洲","provinceId":"10","provinceName":"印度","provinceShortName":"","cityName":"","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","sort":0,"operator":"gaoh","locationId":953003},{"id":2293,"createTime":1580512517000,"modifyTime":1580514491000,"tags":"","countryType":2,"continents":"欧洲","provinceId":"10","provinceName":"西班牙","provinceShortName":"","cityName":"","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","sort":0,"operator":"zhuotingting","locationId":965015},{"id":2596,"createTime":1580516851000,"modifyTime":1580516851000,"tags":"","countryType":2,"continents":"欧洲","provinceId":"10","provinceName":"瑞典","provinceShortName":"","cityName":"","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","sort":0,"operator":"leimanman","locationId":962005},{"id":2870,"createTime":1580566796000,"modifyTime":1580566796000,"tags":"","countryType":2,"continents":"亚洲","provinceId":"10","provinceName":"菲律宾","provinceShortName":"","cityName":"","confirmedCount":1,"suspectedCount":0,"curedCount":0,"deadCount":0,"comment":"","sort":0,"operator":"hekaiqi","locationId":952008}]

4、获取实时播报功能

获取实时播报的功能分为两种,一种是页面的实时播报,才几个显示出来,还有一种是要点击查看更多,显示历史以来所有的播报内容

代码demo

/**
     * 获取页面的实时播报
     * 公众号:zygxsq
     * @return
     */
    public static String getTimelineService(){
        String url="https://ncov.dxy.cn/ncovh5/view/pneumonia";
        //模拟请求
        HttpPojo httpPojo = new HttpPojo();
        httpPojo.setHttpHost("ncov.dxy.cn");
        httpPojo.setHttpAccept("*/*");
        httpPojo.setHttpConnection("keep-alive");
        httpPojo.setHttpUserAgent("Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36");
        httpPojo.setHttpReferer("https://ncov.dxy.cn");
        httpPojo.setHttpOrigin("https://ncov.dxy.cn");
        Map paramObj = new HashMap();
        String htmlResult = httpSendGet(url, paramObj, httpPojo); //整个html页面
        //System.out.println(htmlResult);

        //正则获取数据
        //因为html的数据格式看着就像json格式,所以我们正则获取json
        String reg= "window.getTimelineService = (.*?)\\}(?=catch)";
        Pattern totalPattern = Pattern.compile(reg);
        Matcher totalMatcher = totalPattern.matcher(htmlResult);

        String result="";
        if (totalMatcher.find()){
            result = totalMatcher.group(1);
            System.out.println(result);
            //是一个列表List,如果想保存到数据库中,要遍历结果,下面是demo
            /*JSONArray array = JSONArray.parseArray(result);
            for (int i = 0; i < array.size(); i++) {
                JSONObject jsonObject = JSONObject.parseObject(array.getString(i));
                String title = jsonObject.getString("title");
                System.out.println("title:"+title);
            }*/

        }

        return result;
    }


    /**
     * 获取页面实时播报的所有历史数据
     * @return
     */
    public static String getAllTimelineService(){
        String url="https://file1.dxycdn.com/2020/0130/492/3393874921745912795-115.json?"+Math.round(Math.random()*100000000);
        //模拟请求
        HttpPojo httpPojo = new HttpPojo();
        httpPojo.setHttpHost("ncov.dxy.cn");
        httpPojo.setHttpAccept("*/*");
        httpPojo.setHttpConnection("keep-alive");
        httpPojo.setHttpUserAgent("Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36");
        httpPojo.setHttpReferer("https://ncov.dxy.cn/ncovh5/view/pneumonia_timeline?from=dxy&link=&share=&source=");
        httpPojo.setHttpOrigin("https://ncov.dxy.cn");
        Map paramObj = new HashMap();
        String htmlResult = httpSendGet(url, paramObj, httpPojo); //整个html页面
        System.out.println(htmlResult);

        //是一个列表List,如果想保存到数据库中,要遍历结果,下面是demo
        /*JSONObject resultJo = JSONObject.parseObject(htmlResult);
        String dataStr = resultJo.getString("data");
        JSONArray array = JSONArray.parseArray(dataStr);
        for (int i = 0; i < 5; i++) {
            JSONObject jsonObject = JSONObject.parseObject(array.getString(i));
            String title = jsonObject.getString("title");
            System.out.println("title:"+title);
        }*/


        return htmlResult;
    }

5、获取历史确诊、疑似、治愈和死亡人数

代码demo

/**
     * 获取历史确诊、疑似、治愈和死亡人数
     * 公众号:zygxsq
     * @return
     */
    public static String getAllHistoryDataService(){
        String url="https://file1.dxycdn.com/2020/0223/618/3398299751673487511-135.json?"+Math.round(Math.random()*100000000);
        //模拟请求
        HttpPojo httpPojo = new HttpPojo();
        httpPojo.setHttpHost("ncov.dxy.cn");
        httpPojo.setHttpAccept("*/*");
        httpPojo.setHttpConnection("keep-alive");
        httpPojo.setHttpUserAgent("Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36");
        httpPojo.setHttpReferer("https://ncov.dxy.cn/ncovh5/view/pneumonia");
        httpPojo.setHttpOrigin("https://ncov.dxy.cn");
        Map paramObj = new HashMap();
        String htmlResult = httpSendGet(url, paramObj, httpPojo); //整个html页面
        System.out.println(htmlResult);

        //是一个列表List,如果想保存到数据库中,要遍历结果,下面是demo
        /*JSONObject resultJo = JSONObject.parseObject(htmlResult);
        String dataStr = resultJo.getString("data");
        JSONArray array = JSONArray.parseArray(dataStr);
        for (int i = 0; i < 5; i++) {
            JSONObject jsonObject = JSONObject.parseObject(array.getString(i));
            String confirmedCount = jsonObject.getString("confirmedCount");
            System.out.println("confirmedCount:"+confirmedCount);
        }*/


        return htmlResult;
    }

运行结果

至此,丁香医生的数据已经爬取完毕了,如果你们还想要其他数据的,可以在下面留言,我会尽快更新

下面放一下爬取要用到的工具类和完整代码

三、工具类

用到的工具类,请戳链接:https://blog.csdn.net/qq_27471405/article/details/104140618

四、完整代码

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.common.apiV2.beans.HttpPojo;

import org.springframework.stereotype.Service;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;



/**
 * Created by yjl on 2020-02-01.
 * 公众号:zygxsq 内有整理的程序员面试大全
 */
@Service("WuhanService")
public class WuhanService {
    public static void main(String[] args) {
        getListByCountryTypeService2();
    }


    /**
     * 获取丁香医生的总共确诊病例、疑似病例、治愈人数、死亡人数等数据
     * @return
     */
    public static String getStatisticsService(){
        String url="https://ncov.dxy.cn/ncovh5/view/pneumonia";
        //模拟请求
        HttpPojo httpPojo = new HttpPojo();
        httpPojo.setHttpHost("ncov.dxy.cn");
        httpPojo.setHttpAccept("*/*");
        httpPojo.setHttpConnection("keep-alive");
        httpPojo.setHttpUserAgent("Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36");
        httpPojo.setHttpReferer("https://ncov.dxy.cn");
        httpPojo.setHttpOrigin("https://ncov.dxy.cn");
        Map paramObj = new HashMap();
        String htmlResult = httpSendGet(url, paramObj, httpPojo); //整个html页面
        //System.out.println(htmlResult);

        //正则获取数据
        //因为html的数据格式看着就像json格式,所以我们正则获取json:{"id":1,"createTime":1579537899000,"modifyTime":1580571956000,"infectSource":"野生动物,可能为中华菊头蝠","passWay":"经呼吸道飞沫传播,亦可通过接触传播","imgUrl":"https://img1.dxycdn.com/2020/0201/450/3394153392393266839-135.png","dailyPic":"https://img1.dxycdn.com/2020/0201/693/3394145745204021706-135.png","summary":"","deleted":false,"countRemark":"","confirmedCount":11901,"suspectedCount":17988,"curedCount":275,"deadCount":259,"virus":"新型冠状病毒 2019-nCoV","remark1":"易感人群: 人群普遍易感。老年人及有基础疾病者感染后病情较重,儿童及婴幼儿也有发病","remark2":"潜伏期: 一般为 3~7 天,最长不超过 14 天,潜伏期内存在传染性","remark3":"","remark4":"","remark5":"","generalRemark":"疑似病例数来自国家卫健委数据,目前为全国数据,未分省市自治区等","abroadRemark":""}
        String reg= "window.getStatisticsService = (.*?)\\}(?=catch)";
        Pattern totalPattern = Pattern.compile(reg);
        Matcher totalMatcher = totalPattern.matcher(htmlResult);

        String result="";
        if (totalMatcher.find()){
            result = totalMatcher.group(1);
            System.out.println(result);
            //JSONObject jsonObject = JSONObject.parseObject(result);
            //String modifyTime = jsonObject.getString("modifyTime");
            //System.out.println("modifyTime:"+modifyTime);
        }

        return result;
    }


    /**
     * 获取全国各个省市的确诊、死亡和治愈人数
     * @return
     */
    public static String getAreaStat(){
        String url="https://ncov.dxy.cn/ncovh5/view/pneumonia";
        //模拟请求
        HttpPojo httpPojo = new HttpPojo();
        httpPojo.setHttpHost("ncov.dxy.cn");
        httpPojo.setHttpAccept("*/*");
        httpPojo.setHttpConnection("keep-alive");
        httpPojo.setHttpUserAgent("Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36");
        httpPojo.setHttpReferer("https://ncov.dxy.cn");
        httpPojo.setHttpOrigin("https://ncov.dxy.cn");
        Map paramObj = new HashMap();
        String htmlResult = httpSendGet(url, paramObj, httpPojo); //整个html页面
        //System.out.println(htmlResult);

        //正则获取数据
        //因为html的数据格式看着就像json格式,所以我们正则获取json
        String reg= "window.getAreaStat = (.*?)\\}(?=catch)";
        Pattern totalPattern = Pattern.compile(reg);
        Matcher totalMatcher = totalPattern.matcher(htmlResult);

        String result="";
        if (totalMatcher.find()){
            result = totalMatcher.group(1);
            System.out.println(result);
            //各个省市的是一个列表List,如果想保存到数据库中,要遍历结果,下面是demo
            /*JSONArray array = JSONArray.parseArray(result);
            JSONObject jsonObject = JSONObject.parseObject(array.getString(0));
            String provinceName = jsonObject.getString("provinceName");
            System.out.println("provinceName:"+provinceName);*/
        }

        return result;
    }

    /**
     * 获取全球各个国家的确诊、死亡和治愈人数
     * @return
     */
    public static String getListByCountryTypeService2(){
        String url="https://ncov.dxy.cn/ncovh5/view/pneumonia";
        //模拟请求
        HttpPojo httpPojo = new HttpPojo();
        httpPojo.setHttpHost("ncov.dxy.cn");
        httpPojo.setHttpAccept("*/*");
        httpPojo.setHttpConnection("keep-alive");
        httpPojo.setHttpUserAgent("Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36");
        httpPojo.setHttpReferer("https://ncov.dxy.cn");
        httpPojo.setHttpOrigin("https://ncov.dxy.cn");
        Map paramObj = new HashMap();
        String htmlResult = httpSendGet(url, paramObj, httpPojo); //整个html页面
        //System.out.println(htmlResult);

        //正则获取数据
        //因为html的数据格式看着就像json格式,所以我们正则获取json
        String reg= "window.getListByCountryTypeService2 = (.*?)\\}(?=catch)";
        Pattern totalPattern = Pattern.compile(reg);
        Matcher totalMatcher = totalPattern.matcher(htmlResult);

        String result="";
        if (totalMatcher.find()){
            result = totalMatcher.group(1);
            System.out.println(result);
            //各个国家的是一个列表List,如果想保存到数据库中,要遍历结果,下面是demo
            /*JSONArray array = JSONArray.parseArray(result);
            JSONObject jsonObject = JSONObject.parseObject(array.getString(0));
            String provinceName = jsonObject.getString("continents");
            System.out.println("continents:"+provinceName);*/
        }

        return result;
    }




/**
     * 获取页面的实时播报
     * @return
     */
    public static String getTimelineService(){
        String url="https://ncov.dxy.cn/ncovh5/view/pneumonia";
        //模拟请求
        HttpPojo httpPojo = new HttpPojo();
        httpPojo.setHttpHost("ncov.dxy.cn");
        httpPojo.setHttpAccept("*/*");
        httpPojo.setHttpConnection("keep-alive");
        httpPojo.setHttpUserAgent("Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36");
        httpPojo.setHttpReferer("https://ncov.dxy.cn");
        httpPojo.setHttpOrigin("https://ncov.dxy.cn");
        Map paramObj = new HashMap();
        String htmlResult = httpSendGet(url, paramObj, httpPojo); //整个html页面
        //System.out.println(htmlResult);

        //正则获取数据
        //因为html的数据格式看着就像json格式,所以我们正则获取json
        String reg= "window.getTimelineService = (.*?)\\}(?=catch)";
        Pattern totalPattern = Pattern.compile(reg);
        Matcher totalMatcher = totalPattern.matcher(htmlResult);

        String result="";
        if (totalMatcher.find()){
            result = totalMatcher.group(1);
            System.out.println(result);
            //是一个列表List,如果想保存到数据库中,要遍历结果,下面是demo
            /*JSONArray array = JSONArray.parseArray(result);
            for (int i = 0; i < array.size(); i++) {
                JSONObject jsonObject = JSONObject.parseObject(array.getString(i));
                String title = jsonObject.getString("title");
                System.out.println("title:"+title);
            }*/

        }

        return result;
    }


    /**
     * 获取页面实时播报的所有历史数据
     * @return
     */
    public static String getAllTimelineService(){
        String url="https://file1.dxycdn.com/2020/0130/492/3393874921745912795-115.json?"+Math.round(Math.random()*100000000);
        //模拟请求
        HttpPojo httpPojo = new HttpPojo();
        httpPojo.setHttpHost("ncov.dxy.cn");
        httpPojo.setHttpAccept("*/*");
        httpPojo.setHttpConnection("keep-alive");
        httpPojo.setHttpUserAgent("Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36");
        httpPojo.setHttpReferer("https://ncov.dxy.cn/ncovh5/view/pneumonia_timeline?from=dxy&link=&share=&source=");
        httpPojo.setHttpOrigin("https://ncov.dxy.cn");
        Map paramObj = new HashMap();
        String htmlResult = httpSendGet(url, paramObj, httpPojo); //整个html页面
        System.out.println(htmlResult);

        //是一个列表List,如果想保存到数据库中,要遍历结果,下面是demo
        /*JSONObject resultJo = JSONObject.parseObject(htmlResult);
        String dataStr = resultJo.getString("data");
        JSONArray array = JSONArray.parseArray(dataStr);
        for (int i = 0; i < 5; i++) {
            JSONObject jsonObject = JSONObject.parseObject(array.getString(i));
            String title = jsonObject.getString("title");
            System.out.println("title:"+title);
        }*/


        return htmlResult;
    }



    /**
     * http请求
     * @param url
     * @param paramObj
     * @param httpPojo
     * @return
     */
    private static String httpSendGet(String url, Map paramObj, HttpPojo httpPojo){
        String result = "";
        String urlName = url + "?" + parseParam(paramObj);

        BufferedReader in=null;
        try {

            URL realURL = new URL(urlName);
            URLConnection conn = realURL.openConnection();
            //伪造ip访问
            String ip = randIP();
            System.out.println("目前伪造的ip:"+ip);
            conn.setRequestProperty("X-Forwarded-For", ip);
            conn.setRequestProperty("HTTP_X_FORWARDED_FOR", ip);
            conn.setRequestProperty("HTTP_CLIENT_IP", ip);
            conn.setRequestProperty("REMOTE_ADDR", ip);
            conn.setRequestProperty("Host", httpPojo.getHttpHost());
            conn.setRequestProperty("accept", httpPojo.getHttpAccept());
            conn.setRequestProperty("connection", httpPojo.getHttpConnection());
            conn.setRequestProperty("user-agent", httpPojo.getHttpUserAgent());
            conn.setRequestProperty("Referer",httpPojo.getHttpReferer()); //伪造访问来源
            conn.setRequestProperty("Origin", httpPojo.getHttpOrigin()); //伪造访问域名
            conn.connect();
            Map<String, List<String>> map = conn.getHeaderFields();
            for (String s : map.keySet()) {
                //System.out.println(s + "-->" + map.get(s));
            }
            in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "utf-8"));
            String line;
            while ((line = in.readLine()) != null) {
                result += "\n" + line;
            }


        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            if (in!=null){
                try {
                    in.close();
                }catch (Exception e){
                    e.printStackTrace();
                }

            }
        }
        return result;
    }


    /**
     * 解析map
     * @param paramObj
     * @return
     */
    public static String parseParam(Map paramObj){
        String param="";
        if (paramObj!=null&&!paramObj.isEmpty()){
            for (Object key:paramObj.keySet()){
                String value = paramObj.get(key).toString();
                param+=(key+"="+value+"&");

            }
        }
        return param;
    }

    /**
     * 伪造ip地址
     * @return
     */
    public static String randIP() {
        Random random = new Random(System.currentTimeMillis());
        return (random.nextInt(255) + 1) + "." + (random.nextInt(255) + 1)
                + "." + (random.nextInt(255) + 1) + "."
                + (random.nextInt(255) + 1);
    }

}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 使用JavaScript,点击按钮一个打开新的窗体

    <script type="text/javascript"> function openObj(){ window.open("success.ht...

    小小鱼儿小小林
  • Dom的高级应用

    sectionRowIndex 返回该表格行在其所在元素(<tbody>,<thead>等元素)的索引值

    小小鱼儿小小林
  • eclipse中向svn提交代码冲突的解决

    1. 点击提交,报错——‘SVN提交’has encountered a problem.

    小小鱼儿小小林
  • Web 开发 MYSQL 常用方法整理 (上)

    最近在记录Web开发MYSQL常用方法,本篇记录希望数据插入、数据查询这两方面,,后面还会对数据更新以及如何在SQL中实现排行进行整理,希望对初期接触Web 开...

    王旭
  • 见缝插针游戏--实现转圈

    用户2965768
  • Ceph RGW整体结构,最全干货在这!

    ? 小新 职场新人,存储小白 立志成为职场老鸟,存储专家; 影视迷,东野迷。   友情提醒:以下内容有点干,请自备快乐水~ 一、前言 Ceph中的对象存储网关...

    腾讯云TStack
  • 如何避免你的问题烂尾

    本节主要介绍我在工作中遇到了什么问题,遇到问题后我们如何去解决的思考过程,同时下文结合了《提问的智慧》(https://www.jianshu.com/p/1b...

    研究僧
  • 什么是渗透测试?

    渗透测试告诉系统上采用的现有防御措施是否足够强大,可以防止任何安全漏洞。渗透测试报告还建议了可以采取的对策,以减少系统被黑客入侵的风险。

    用户7466307
  • 从Preact中了解React组件和hooks基本原理

    React 的代码库现在已经比较庞大了,加上 v16 的 Fiber 重构,初学者很容易陷入细节的汪洋大海,搞懂了会让人觉得自己很牛逼,搞不懂很容易让人失去信心...

    Nealyang
  • 学界 | 清华等机构提出基于内部一致性的行人检索方法,实现当前最优

    行人检索又叫行人重识别(person re-identification,re-ID),即基于给定行人,从大型数据库中检索特定相关人行道的图像。目前,深度学习方...

    机器之心

扫码关注云+社区

领取腾讯云代金券