- 依赖于fs、https、cheerio模块,cheerio模块需要npm install cheerio --save安装
- 核心代码(创建copy.js,将一下代码复制粘贴即可)
const fs = require('fs')
const http = require('https')
const cheerio = require("cheerio");
const url = 'https://movie.douban.com/'
http.get(url, function(res) {
var html = ''
var resuts = []
res.on('data', function(data) {
html += data
})
res.on('end', function(data) {
console.log('结束了============')
var $=cheerio.load(html)
$("img").each(function(index, item) {
var src = $(item).attr('src')
resuts.push(src)
})
console.log('共搜索到'+resuts.length+'图片');
console.log('清空image文件下的图片')
emptyImage('./images')
console.log('开始下载保存图片...')
for(var i=0;i<resuts.length;i++){
console.log('当前下载保存图片的网络链接:'+resuts[i])
saveImage(resuts[i]);
}
})
}).on('error',function(){
console.log('资源读取出错')
})
function emptyImage(fileUrl) {
if (!fs.existsSync(fileUrl)) {
return
}
var files = fs.readdirSync(fileUrl)
files.forEach(function(file) {
fs.unlinkSync(fileUrl+'/'+file)
})
console.log('已清空image文件下的图片')
}
function saveImage(resuts) {
http.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("保存成功");
});
});
});
}
- 运行(node copy.js)