使用Node获取百度最新疫情信息,本地保存为json文件
目标网站:
https://voice.baidu.com/act/newpneumonia/newpneumonia/
目标数据:
获取如下图8条数据
代码展示(index.js):
const fs=require('fs'); const https=require('https'); const getnewpneumonia=function(){ const req = https.get('https://voice.baidu.com/act/newpneumonia/newpneumonia/', (res) => { res.setEncoding('utf8'); //二进制binary let Data='' res.on('data', (d) => { Data += d; }).on('end',()=>{ const data=Data.match(/(?<=\"summaryDataIn\":\{)[\s\S]*?(?=\})/gi).toString() let obj=JSON.parse(`{${data}}`); let arr=[] arr[0]={title:'现有确诊',num:obj['curConfirm']} arr[1]={title:'无症状',num:obj['asymptomatic']} arr[2]={title:'现有疑似',num:obj['unconfirmed']} arr[3]={title:'现有重诊',num:obj['icu']} arr[4]={title:'累计确诊',num:obj['confirmed']} arr[5]={title:'境外输入',num:obj['overseasInput']} arr[6]={title:'累计治愈',num:obj['cured']} arr[7]={title:'累计死亡',num:obj['died']} fs.writeFile(`./epidemic.json`,JSON.stringify(arr), ress=> { console.log('epidemic.json生成成功') }); }) }); req.on('error', (e) => { console.error(e); }) req.end(); } getnewpneumonia();
使用
终端:node index.js