通过脚本获取数据 新型冠状病毒 2019-nCoV 的相关数据。

数据来源 丁香园。

(以下数据仅供参考)

脚本文件:app.js

const express = require('express');
const request = require('request');
const axios = require('axios');
const fs = require('fs');
const app = express();

const url = 'https://3g.dxy.cn/newh5/view/pneumonia';

const getStatisticsService = (data) => {
    let statisticObj = JSON.parse(data.match(/window.getStatisticsService = (.*?)}catch/)[1])
    fs.writeFileSync('./data/statistic.json',JSON.stringify(statisticObj,null,2),(err)=>{
        console.log('写入成功')
    })
}
const getAreaStat = (data) => {
    const areaObj = JSON.parse(data
        .match(/window.getAreaStat = (.*?)}catch/)[1])
    fs.writeFileSync('./data/province.json', JSON.stringify(areaObj, null, 2), (err) => {
        console.log('写入成功')
    })
}
axios.request(url).then(({
    data: html
}) => {
    getStatisticsService(html)
    getAreaStat(html);
})

app.listen(3000, () => {
    console.log('app listening port is 3000')
})

通过脚本获取数据 新型冠状病毒 2019-nCoV 的相关数据。_第1张图片

statistic.json文件:

{
  "id": 1,
  "createTime": 1579537899000,
  "modifyTime": 1580140453000,
  "infectSource": "野生动物,可能为中华菊头蝠",
  "passWay": "未完全掌握,存在人传人、医务人员感染、一定范围社区传播",
  "imgUrl": "https://img1.dxycdn.com/2020/0123/733/3392575782185696736-73.jpg",
  "dailyPic": "https://img1.dxycdn.com/2020/0127/350/3393218957833514634-73.jpg",
  "summary": "",
  "deleted": false,
  "countRemark": "",
  "confirmedCount": 2857,
  "suspectedCount": 5794,
  "curedCount": 56,
  "deadCount": 82,
  "virus": "新型冠状病毒 2019-nCoV",
  "remark1": "易感人群: 暂时不明,病毒存在变异可能",
  "remark2": "潜伏期: 1~14 天均有,平均 10 天,潜伏期内存在传染性",
  "remark3": "",
  "remark4": "",
  "remark5": "",
  "generalRemark": "疑似病例数来自国家卫健委数据,目前为全国数据,未分省市自治区等",
  "abroadRemark": ""
}

province.json文件:

{
    "provinceName": "湖北省",
    "provinceShortName": "湖北",
    "confirmedCount": 1423,
    "suspectedCount": 0,
    "curedCount": 45,
    "deadCount": 76,
    "comment": "",
    "cities": [
      {
        "cityName": "武汉",
        "confirmedCount": 698,
        "suspectedCount": 0,
        "curedCount": 42,
        "deadCount": 63
      },
     ]
......
}

 

你可能感兴趣的:(前端,express)