首先咱们须要引入一些模块node
var http = require("http"); var https = require("https"); var fs = require("fs"); var cheerio = require("cheerio");
这里须要注意cheerio是扩展模块须要装一下npm
npm install cheerio --save
而后要把这些图片的url地址获取下来数组
const wz="http://image.baidu.com/"; var strHtml=""; var resuts=[];//定义一个空数组,将数据内容存在里面 http.get(wz,function(res){ //接收数据 res.on("data",function(data){ strHtml+=data; }); //接收完成 res.on("end",function(){ var $=cheerio.load(strHtml); //找到这些图片的位置 $(".img_single_box img").each(function(index,item){ resuts.push($(item).attr('src')) }); console.log(resuts); //循环调用图片函数 for(var i=0;i<resuts.length;i++){ saveImage(resuts[i]); } }); });
而后根据图片URL地址保存成图片dom
function saveImage(resuts){ https.get(resuts,function(res){ res.setEncoding('binary');//二进制 var imageData="";//将图片加载到内存中 res.on("data",function(a){ imageData+=a; }).on("end",function(){ //建立文件夹,若是有就不用建立 if(!fs.existsSync('./images')){ fs.mkdirSync('./images'); }; //保存图片 fs.writeFile(".images/"+Math.random()+".png",imageData,"binary",function(err){ if(!err) console.log("保存成功"); }); }); }); }