first commit

This commit is contained in:
2024-11-28 22:34:56 +08:00
commit 6e0b8ccc4d
11 changed files with 1578 additions and 0 deletions

72
utils/index.js Normal file
View File

@@ -0,0 +1,72 @@
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()
}
/**
* 返回 cheerio 数据结构
* @param html
* @returns {*}
*/
cheerio(html) {
return cheer.load(html)
}
split(str, index = 1) {
return str.split(Config.baseUrl)[index]
}
/**
*
* @param url 请求的地址
* @returns {Promise<AxiosResponse<any>>}
*/
async get(url) {
return await this.ax.get(url, {
headers: {
'sec-ch-ua-mobile': '?1',
'sec-fetch-site': 'same-origin',
'upgrade-insecure-requests': '1',
'priority': 'u=0, i',
'sec-fetch-mode': 'navigate',
'cookie': `_ga=GA1.1.1571194344.1732275775; _lscache_vary=0e8aace2958628a1edb01710bbabbcab; showed_system_notice=showed; PHPSESSID=5jmev023fsh6i76huat60njio3; _ga_ZT9Q6FCC5R=GS1.1.1732668048.9.1.1732668791.0.0.0`,
'referer': 'https://www.06se.com/hot_tags',
'user-agent': `Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1`
}
});
}
/**
*
* 响应拦截器
* @constructor
*/
async ResponseInterceptor() {
this.ax.interceptors.response.use((response) => {
return this.cheerio(response.data);
}, (error) => {
console.log(`
❌ 请求错误❕❕❕
1: 错误信息 ${error.message}
2: 原因目标网站禁止国内大陆IP访问爬虫会走系统代理进行请求访问
但检测到你未开启翻墙工具请打开Clash或FlClash等代理工具保证能正常访问 Google。
3: 自定义代理端口:修改代码'/config/config.js'中 proxyPort 实现自定义端口,端口从代理工具中查看
`);
return Promise.reject(error)
})
}
}
export default new utils();