疫情实时大数据报告(利用nodejs)
2024-10-21 06:25:49
一转眼2020年,工作三年是时候向全栈工程师出发了,大家放心头发还在。话不多少进入正题
一、看一下效果
二、看一下代码
相关的node代码:
这里主要利用node的爬虫技术,爬的别人的数据。cheerio十分强大了,移步cheerio文档
var originRequest = require('request');
var iconv = require('iconv-lite');
var express = require('express');
var cheerio = require("cheerio");
var bodyParser = require('body-parser'); var app = express();
app.use(express.static("./"));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: true
}));
var headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36'
}
var url = 'https://voice.baidu.com/act/newpneumonia/newpneumonia';
app.all("*", function (req, res, next) {
//设置允许跨域的域名,*代表允许任意域名跨域
res.header("Access-Control-Allow-Origin", "*");
//允许的header类型
res.header("Access-Control-Allow-Headers", "content-type");
//跨域允许的请求方式
res.header("Access-Control-Allow-Methods", "DELETE,PUT,POST,GET,OPTIONS");
if (req.method.toLowerCase() == 'options')
res.send(200); //让options尝试请求快速结束
else
next();
})
function Request(url, callback) {
var options = {
url: url,
encoding: null,
headers: headers
}
originRequest(options, callback)
}
app.get("/get", function (request, response) {
Request(url, function (err, res, body) {
if (err) {
console.log(err);
}
var html = iconv.decode(body, 'gb2312')
var $ = cheerio.load(html, {
decodeEntities: false
})
response.json($('#captain-config').html());
})
});
app.listen(3030, function () {
console.log('localhost:3030')
});
三、接口数据
参数含义
caseList 国内省市疫情
caseOutsideList 国外市区疫情
mapLastUpdatedTime 更新时间
summaryDataIn 国内疫情
summaryDataOut 国外疫情
trend 数据趋势
trumpet 公告
hotwords 热词
knowledges 防疫知识
gossips 辟谣信息
最新文章
- 让 ASP.NET vNext 在 Mac OS 中飞呀飞。。。
- AlloyTouch全屏滚动插件发布--30秒搞定顺滑H5页
- 存储过程 Row_number() 分页
- Django--全文检索功能
- 剑指Offer面试题:26.字符串的排列
- 解读Unity中的CG编写Shader系列七(不透明度与混合)
- 转载.Net MVC中Html.RenderPartial和Html.RenderAction 的应用与区别
- iOS设备保持横排方向
- android获取View上某点的颜色
- csdn仍是&;quot;待定&;quot;对?
- 构建具有深度和灵活性的安卓Wear应用
- C语言的第一个程序 “hello world!”
- Think with Google 京东如何玩转TensorFlow?
- Java高级特性-String、StringBuffer和StringBuilder
- mybatis 源码分析一
- 如何转换cdr文件
- BZOJ 400题纪念
- CISCO知识扫盲
- Prufer codes与Generalized Cayley's Formula
- idea 在tomcat中部署的时候 莫名其妙的错误