书接上回,哈哈,昨天发表了,怎么使用Node的cheerio模块进行抓取网页的信息,那我们拿到数据肯定是有自己的用处的啊。
我昨天抓取的是一些超级诱人的糕点的图片,今天展示出来,大家一起眼馋啊,啊哈哈哈~
昨天的抓取博文,需要的请点击这个链接:Node学习之cheerio网络爬虫
好了,开始今天的展示,上代码:
var http = require("http");
var cheerio = require("cheerio");
//准备抓取的网站链接
var dataUrl = "http://www.mcake.com/shop/110/index.html#mainer_top";
http.get(dataUrl,function(res){
var str = "";
//绑定方法,获取网页数据
res.on("data",function(chunk){
str += chunk;
})
//数据获取完毕
res.on("end",function(){
//调用下方的函数,得到返回值,即是我们想要的img的src
var data = getData(str);
//console.log(data);
----------
//新添加的部分
//用node搭建服务器,将内容展示在页面上
var server = http.createServer(function(req,res){
//定义空的字符串
var html = "";
//循环得到的数据,拼接在html上
for(var i = 0;i<data.length;i++){
html += `<div style="display: inline-block;margin: 10px;"><img src="${data[i]}" /></div>`;
}
//输出到页面
res.write(html);
res.end();
})
server.listen(8888);//设置服务端口号
----------
})
})
//根据得到的数据,处理得到自己想要的
function getData(str){
//沿用JQuery风格,定义$
var $ = cheerio.load(str);
//获取的数据数组
var arr = $(".pro_box a:nth-child(1) img");
var dataTemp = [];
//遍历得到数据的src,并放入以上定义的数组中
arr.each(function(k,v){
var src = $(V).attr("src");
dataTemp.push(src);
})
//返回出去
return dataTemp;
}
把以上代码加进去,在浏览器的地址栏输入“localhost:8888”,就可以看到展示的页面了,哒哒哒,萍子要上那些可爱的甜点了哦,Hold住哈!O(∩_∩)O~
讲真,我本来截了一张超大的图片,无奈CSDN只能上传2M的图片,哎呀,好气啊,还是本本分分的学习吧,哈哈哈~