增加爬虫

This commit is contained in:
编码猿
2024-11-23 12:21:29 +08:00
parent 12eca48220
commit b4297bf17c
4 changed files with 57 additions and 2 deletions

View File

@@ -1,5 +1,6 @@
export default {
port: 3030,
proxyPort: '7890',
baseUrl: 'https://www.06se.com',
hot_tags: function () {
return `${this.baseUrl}/hot_tags`

View File

@@ -12,6 +12,7 @@
"axios": "^1.7.7",
"cheerio": "^1.0.0-rc.12",
"express": "^4.21.1",
"https-proxy-agent": "^7.0.5",
"ip": "^2.0.1"
}
},
@@ -27,6 +28,17 @@
"node": ">= 0.6"
}
},
"node_modules/agent-base": {
"version": "7.1.1",
"resolved": "https://registry.npmmirror.com/agent-base/-/agent-base-7.1.1.tgz",
"integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==",
"dependencies": {
"debug": "^4.3.4"
},
"engines": {
"node": ">= 14"
}
},
"node_modules/array-flatten": {
"version": "1.1.1",
"resolved": "https://registry.npmmirror.com/array-flatten/-/array-flatten-1.1.1.tgz",
@@ -237,6 +249,22 @@
"url": "https://github.com/sponsors/fb55"
}
},
"node_modules/debug": {
"version": "4.3.7",
"resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.7.tgz",
"integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
"dependencies": {
"ms": "^2.1.3"
},
"engines": {
"node": ">=6.0"
},
"peerDependenciesMeta": {
"supports-color": {
"optional": true
}
}
},
"node_modules/define-data-property": {
"version": "1.1.4",
"resolved": "https://registry.npmmirror.com/define-data-property/-/define-data-property-1.1.4.tgz",
@@ -668,6 +696,18 @@
"node": ">= 0.8"
}
},
"node_modules/https-proxy-agent": {
"version": "7.0.5",
"resolved": "https://registry.npmmirror.com/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz",
"integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==",
"dependencies": {
"agent-base": "^7.0.2",
"debug": "4"
},
"engines": {
"node": ">= 14"
}
},
"node_modules/iconv-lite": {
"version": "0.4.24",
"resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz",

View File

@@ -14,6 +14,7 @@
"axios": "^1.7.7",
"cheerio": "^1.0.0-rc.12",
"express": "^4.21.1",
"https-proxy-agent": "^7.0.5",
"ip": "^2.0.1"
}
}

View File

@@ -1,10 +1,16 @@
import * as cheer from "cheerio";
import axios from "axios";
import { HttpsProxyAgent } from "https-proxy-agent";
import Config from "../config/config.js";
class utils {
constructor() {
this.ax = axios
// 让 ajax 请求 走flclash的翻墙代理
const httpsAgent = new HttpsProxyAgent(`http://127.0.0.1:${Config.proxyPort}`);
this.ax.defaults.httpsAgent = httpsAgent;
this.ax.defaults.proxy = false;
this.ResponseInterceptor()
}
@@ -17,7 +23,7 @@ class utils {
return cheer.load(html)
}
split(str,index = 1) {
split(str, index = 1) {
return str.split(Config.baseUrl)[index]
}
@@ -46,7 +52,14 @@ class utils {
this.ax.interceptors.response.use((response) => {
return this.cheerio(response.data);
}, (error) => {
console.log("请求错误...");
console.log(`
❌ 请求错误❕❕❕
1: 错误信息 ${error.message}
2: 原因目标网站禁止国内大陆IP访问爬虫会走系统代理进行请求访问
但检测到你未开启翻墙工具请打开Clash或FlClash等代理工具保证能正常访问 Google。
3: 自定义代理端口:修改代码'/config/config.js'中 proxyPort 实现自定义端口,端口从代理工具中查看
`);
return Promise.reject(error)
})
}