前言
网上一张一张下载是不是很麻烦,直接批量下载,解决你的问题。高清不是梦!
具体步骤不说了,直接上代码
const cheerio = require("cheerio");
const axios = require("axios");
const fs = require("fs");
const path = require("path");
let httpUrl = "http://www.netbian.com/dongman/index_2.htm";
let dirName = path.join(__dirname,"image");
if(fs.existsSync(dirName)){
console.log("文件夹已存在");
}else{
fs.mkdir(dirName,()=>{
console.log("文件夹创建成功");
});
}
async function getData(){
let htmlData = await axios.get('https://www.csdn.net/');
console.log(htmlData,'htmlData');
let $ = cheerio.load(htmlData.data);
$(".headlines-left dl dt a img").each(async (index,item)=>{//定位到当前图片元素img
let imgUrl = $(item).attr("src");//获取到当前的img路径
let srcFile = path.join(dirName,path.parse(imgUrl).base);
let ws = fs.createWriteStream(srcFile);
axios.get(imgUrl,{responseType:"stream"}).then((res)=>{//请求当前图片
res.data.pipe(ws);//将请求的图片数据copy到srcFile文件路径中
res.data.on("close",()=>{
console.log("图片" + path.parse(imgUrl).base + "已经下载完成");
ws.close();
})
})
})
}
getData();
注意点:
这个需要安装一个模块,安装一个axios模块,直接完成批量下载你喜欢的图片简直不要太香
!
运行
上一篇文章忘记说了 运行: node app.js即可
标签:axios,const,nodejs,fs,let,path,htmlData,图片 From: https://blog.csdn.net/GAGGAAAAA/article/details/137238546