74 lines
1.6 KiB
JavaScript
74 lines
1.6 KiB
JavaScript
const http = require('./http');
|
|
const config = require('./config');
|
|
const fs = require('fs');
|
|
|
|
let urlArr = [] // 存放被请求的页面地址
|
|
let urlArrIndex = 0; // 默认从第几页开始爬
|
|
|
|
|
|
let pageArr = [] // 存放每一页的20条li数据
|
|
let pageArrIndex = 0 // 默认爬第几页的第几个图片
|
|
|
|
for (let i = 1; i <= 10; i++) {
|
|
if (i == 1) {
|
|
urlArr.push(`${config.url}index.html`)
|
|
} else {
|
|
urlArr.push(`${config.url}index_${i}.html`)
|
|
}
|
|
}
|
|
|
|
|
|
async function getUrlArr() {
|
|
|
|
let $ = await http.get({
|
|
url: urlArr[urlArrIndex],
|
|
type: 1
|
|
});
|
|
$(".slist li").each(function () {
|
|
pageArr.push({
|
|
title: $(this).find("b").text(),
|
|
img: config.picUrl+$(this).find("img").attr("src"),
|
|
url: config.picUrl+$(this).find("a").attr("href")
|
|
})
|
|
});
|
|
|
|
getPageArr()
|
|
}
|
|
|
|
|
|
async function getPageArr() {
|
|
console.log(`已获取第 ${urlArrIndex + 1}页, 的第几张 ${pageArrIndex + 1}图`)
|
|
let $ = await http.get({
|
|
url: pageArr[pageArrIndex].url,
|
|
type: 1
|
|
});
|
|
|
|
downImg(config.picUrl + $(".photo-pic img").attr("src"))
|
|
}
|
|
|
|
async function downImg(url) {
|
|
let res = await http.get({
|
|
url: url,
|
|
type: 2
|
|
});
|
|
|
|
res.pipe(fs.createWriteStream(`img/${fileName()}.jpg`));
|
|
pageArrIndex += 1;
|
|
|
|
if (pageArrIndex <= 19) {
|
|
getPageArr()
|
|
} else {
|
|
urlArrIndex += 1;
|
|
if (urlArrIndex < 10) {
|
|
pageArrIndex = 0;
|
|
pageArr = [];
|
|
getUrlArr()
|
|
}
|
|
}
|
|
}
|
|
|
|
function fileName() {
|
|
return `${Math.random() * 1000000}${Date.parse(new Date())}`
|
|
}
|
|
getUrlArr()
|