这篇文章是基于上一篇文章所写的,有需要的话请先访问上一篇文章:
前端之使用NodeJS+Cheerio实现网络爬虫图解_梦远星帆的博客-CSDN博客
1.配置NodeJS服务器
//从网络上爬取数据
let request = require('request');
let cheerio = require('cheerio');
//获取客户端请求
let http = require('http');
let url = require('url');
//要爬取的数据源地址
let path = 'https://ncov.dxy.cn/ncovh5/view/pneumonia';
let PORT = 8090;
http.createServer(function (req, res) {
//设置允许跨域访问
res.setHeader("Access-Control-Allow-Credentials", "true");
res.setHeader("Access-Control-Allow-Origin", "*");
//设置返回的数据格式
res.setHeader("Access-Control-Allow-Headers", "Content-Type");
res.setHeader("content-type", "text/json; charset=utf-8");
//解析请求的url
let obj = url.parse(req.url,true);
let type = obj.query.type;
//收到请求之后开始根据不同的type类型爬取数据
zhuaqu(path,type,(data)=>{
res.end(data);
});
}).listen(PORT, function () {
console.log('server is listening on port ' + PORT);
}
);
//从网络上爬取数据的方法
function zhuaqu(path,type,callback){
request(path,(err,req)=>{
if(err){
callback(err);
}
let $ = cheerio.load(req.body.toString());
//根据type获得疫情数据
let data = $('#'+type);
data = data[0].children[0].data;
//根据不同的请求类型做不同的数据处理,这里要根据实际情况处理
if(type=='getAreaStat'){
data = data.substring(data.indexOf('['));
data = data.substring(0,data.lastIndexOf(']')+1);
}else if(type==

本文详细介绍了如何使用NodeJS和Cheerio搭建一个简单的网络爬虫服务器,允许跨域访问,并在前端通过Ajax请求获取数据。数据在Vue.js应用中进行处理和展示,包括国内疫情的总数据和各地区数据。通过Vue遍历和渲染数据,实现实时更新的疫情数据显示在Bootstrap表格中。
最低0.47元/天 解锁文章
5771

被折叠的 条评论
为什么被折叠?



