首先咱們須要引入一些模塊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("保存成功"); }); }); }); }