//引入核心模块
const http = require("http");
const https = require("https");
const fs = require("fs");
const cheerio = require("cheerio");
for (var page = 1; page < 2; page++) {
}
// let url = `https://pic.netbian.com/4kdongman/index_${page}.html`
for (let page = 12; page < 200; page++) {
let url = `http://www.bizhi88.com/c3/${page}.html`
//创建服务
http.get(url, (res) => {
//触发接收事件data
let imageData = "";
res.on("data", (chunk) => {
//接收数据,将数据一点点的追加到没我们定义的空字符串中
imageData += chunk;
});
//触发接收完成时间end
res.on("end", () => {
//cheerio类似于jQuery我们在用他之前必须载入文档用(load方法)
const $ = cheerio.load(imageData);
let ImgData = [];
// https://pic.netbian.com/uploads/allimg/210827/140836-16300445167682.jpg
// http://image.qianye88.com/pic/d70b922f1e39604dfa85273e4b795122?imageMogr2/thumbnail/x280/quality/90!
//遍历查出来的文本数据
$(".flex-img .item .img .lazy").each((index, item) => {
//定义一个空数组,将数据内容存在里面
// let imgUrl = `https://pic.netbian.com/` + $(item).attr("src");
ImgData.push($(item).attr("data-original"));
});
//循环调用图片函数
for (let i = 0; i < ImgData.length; i++) {
saveImage(ImgData[i]);
}
});
});
}
//封装图片函数
function saveImage(imageUrl) {
//创建服务
http.get(imageUrl, (res) => {
//二进制
res.setEncoding("binary");
let imageData = "";
//将图片加载到内存中
res.on("data", (shuju) => {
imageData += shuju;
});
//加载完保存图片
res.on("end", () => {
//创建文件夹,如果有择不创建
if (!fs.existsSync("./img2")) {
fs.mkdirSync("./img2");
};
//保存图片
fs.writeFile("./nodeReptile/getPicture/img2/" + Math.random() * 10000 + 1 + '.png', imageData, "binary", (err) => {
if (!err) console.log("保存成功!!!")
})
})
})
}
node.js - 笔记 : 保存喜欢的图片
最新推荐文章于 2022-11-24 20:02:29 发布