增加爬虫
This commit is contained in:
@@ -1,19 +0,0 @@
|
||||
import { createCrawl } from 'x-crawl'
|
||||
|
||||
export class Crawl {
|
||||
|
||||
constructor(option) {
|
||||
this.app = createCrawl(option)
|
||||
}
|
||||
|
||||
|
||||
async page(url) {
|
||||
let { data } = await this.app.crawlPage(url)
|
||||
return data
|
||||
}
|
||||
|
||||
async html(url) {
|
||||
let { data } = await this.app.crawlHTML(url)
|
||||
return data
|
||||
}
|
||||
}
|
||||
55
newBackApi/utils/index.js
Normal file
55
newBackApi/utils/index.js
Normal file
@@ -0,0 +1,55 @@
|
||||
import * as cheer from "cheerio";
|
||||
import axios from "axios";
|
||||
import Config from "../config/config.js";
|
||||
|
||||
class utils {
|
||||
constructor() {
|
||||
this.ax = axios
|
||||
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: {
|
||||
'cookie': `_ga=GA1.1.2076335189.1731510827; history_search=%5B%22%5Cu6768%5Cu6668%5Cu6668%26type%3Dpost%22%2C%22%5Cu767d%5Cu4e1d%26type%3Dpost%22%2C%22jk%26type%3Dpost%22%5D; PHPSESSID=22oh5maqqirjstqs1p7gbtome7; _lscache_vary=0e8aace2958628a1edb01710bbabbcab; showed_system_notice=showed; _ga_ZT9Q6FCC5R=GS1.1.1732278002.10.1.1732278777.0.0.0`,
|
||||
'referer': 'https://www.06se.com/',
|
||||
'user-agent': `Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36`,
|
||||
'accept': `text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7`
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* 响应拦截器
|
||||
* @constructor
|
||||
*/
|
||||
async ResponseInterceptor() {
|
||||
this.ax.interceptors.response.use((response) => {
|
||||
return this.cheerio(response.data);
|
||||
}, (error) => {
|
||||
console.log("请求错误...");
|
||||
return Promise.reject(error)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
export default new utils();
|
||||
Reference in New Issue
Block a user