前提准备:
你需要 : cnpm i 安装这些包
package.json
{
"name": "test",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"cheerio": "^1.0.0-rc.3",
"express": "^4.17.1",
"requests": "^0.3.0"
}
}
index.js
- 执行命令:node index.js
- 得到html
let requests = require('requests');
let fs = require('fs') //fs模块
let path = require('path') //path模块
requests('https://ncov.dxy.cn/ncovh5/view/pneumonia?from=timeline&isappinstalled=0')
.on('data', function(chunk) {
fs.writeFile(path.resolve(__dirname, 'data.html'), chunk, () => { //得到html字符串
console.log('保存成功');
})
})
data.html
index.js
- 执行命令:node index.js
- 得到html结构,再得到里面的省份信息
let requests = require('requests');
let fs = require('fs') //fs模块
let path = require('path') //path模块
const cheerio = require('cheerio')
requests('https://ncov.dxy.cn/ncovh5/view/pneumonia?from=timeline&isappinstalled=0')
.on('data', function(chunk) {
let window = {};
const $ = cheerio.load(chunk) // cheerio 解析html结构
// cheerio 解析html结构,得到json格式字符串,再用eval转化成省份信息
eval($("#getAreaStat").html())
// 得到html里面的getAreaStat对象,转化成josn格式字符串
var jsons = JSON.stringify(eval($("#getAreaStat").html()))
fs.writeFile(path.resolve(__dirname, 'data.json'), jsons, () => {
// 把字符串写入到dada.json里面去
console.log('保存成功');
})
})