前端之搭建简单的Node服务器

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

这篇文章是基于上一篇文章所写的,有需要的话请先访问上一篇文章:

前端之使用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==
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值