node.js爬虫技术

request,客户端

var request=require("request");
var cheerio=require("cheerio");
var fs=require("fs");
request("http://www.biyao.com/home/index.html?source=pc-bdpz",
    function(err,res,body){
    var $=cheerio.load(body);//获取文档对象
    var arr=[];
    $(".category-recommend-3").each(function(i){
        var obj={};
        obj.title=$(this).children(".category-title").children("p").text();
        var li_list=[];
        $(this).find("li").each(function(j){
            if(j==0){
                li_list.push({
                    img_url:$(this).find("img").attr("src"),
                    type:"first",
                    tit:$(this).find("span").text()
                })
            }else{
                var name=$(this).find("img").attr("src").split("/");
                var name_str=name[name.length-1];
                request($(this).find("img").attr("src"))
                .pipe(fs.createWriteStream("image/"+name_str));
                li_list.push({
                    img_url:$(this).find("img").attr("src"),
                    type:"sec",
                    tit:$(this).find("dt").text(),
                    price:$(this).find("dd").text()
                })
            }
        })
        obj.list=li_list;
        arr.push(obj);
    })
    fs.writeFile("data.json",JSON.stringify(arr),function(err){});
});

你可能感兴趣的:(node.js爬虫技术)