first commit

This commit is contained in:
编码猿
2024-09-27 02:06:13 +08:00
commit 852d94fbb9
36760 changed files with 3274413 additions and 0 deletions

View File

@@ -0,0 +1,93 @@
// 引入插件
const request = require('request')
const iconv = require('iconv-lite')
// 把字符串转化为虚拟dom
const cheerio = require('cheerio')
const fs = require('fs')
// 所有页数数组 主要用来存页面地址
var pageArr = []
// 基地址
var url = 'https://pic.netbian.com'
// 下标
var pageIndex = 0
// 详情页地址
var infoArr = []
var infoIndex = 0
// 生成页面链接
for (var i = 1; i <= 3; i++) {
if (i == 1) {
pageArr.push(url)
} else {
pageArr.push(`${url}/index_${i}.html`)
}
}
console.log("pageArr: ", pageArr);
function requestPage() {
get(pageArr[pageIndex], ($) => {
$(".slist li").each(function (index, ele) {
// hasClass获取标签类名
if (!$(this).hasClass("nextpage")) {//nextpage是下一页所以要排除
infoArr.push(
`${url}${$(this).find("a").attr("href")}`
)
}
})
requestInfo()
// console.log("infoArr:", infoArr);
})
}
//生成详情页
function requestInfo() {
get(infoArr[infoIndex], ($) => {
request(`${url}${$(".photo-pic img").attr("src")}`)
.pipe(fs.createWriteStream(`./img/${Math.random() * 1000 + `${Date.now()}`}.png`))
infoIndex += 1
if (infoIndex < infoArr.length) {
requestInfo()
} else {
pageIndex += 1
if (pageIndex < pageArr.length) {
requestPage()
}
}
})
}
// gbk转换
function get(url, callback) {
request({
url: url,
method: 'GET',
encoding: 'binary'
}, function (error, response, body) {
var buf = new Buffer(body, 'binary');
var str2 = iconv.decode(buf, 'gbk');
// console.log(str2);
// $就是虚拟dom
const $ = cheerio.load(str2)
// callback把$返回出去
callback($)
})
}
requestPage()

View File

@@ -0,0 +1,18 @@
{
"name": "pc",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"a": "node index.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"cheerio": "^1.0.0-rc.12",
"fs": "^0.0.1-security",
"iconv-lite": "^0.6.3",
"request": "^2.88.2"
}
}