Node.js抓取网页信息并展示(cheerio网络爬虫)

书接上回,哈哈,昨天发表了,怎么使用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的图片,哎呀,好气啊,还是本本分分的学习吧,哈哈哈~

猜你喜欢

转载自blog.csdn.net/mytljp/article/details/79137050