var createError = require('http-errors'); var express = require('express'); var path = require('path'); var cookieParser = require('cookie-parser'); var logger = require('morgan'); var cheer = require('cheerio'); var config = require('./config/index'); var axios = require('axios'); // 因为对方网站的域名经常变,导致爬虫无法爬数据,所以这里会在每次后端接口 // 刚启动的时候,自动从目标网站的 防失联 页面 抓取最新的 // 网站域名,然后保存到全局config中。 axios.get(config.pushUrl) .then(function (response) { var $ = cheer.load(response.data) config.BaseUrl = `${$(".title + p>a").text()}/` // console.log("抓取到的网站最新域名为:", config.BaseUrl); }) var indexRouter = require('./routes/index'); var agentRouter = require('./routes/agent'); var app = express(); app.use(logger('dev')); app.use(express.json()); app.use(express.urlencoded({ extended: false })); app.use(cookieParser()); app.use('/api/json/', indexRouter); app.use('/api/json/', agentRouter); // catch 404 and forward to error handler app.use(function(req, res, next) { next(createError(404)); }); // error handler app.use(function(err, req, res, next) { // set locals, only providing error in development res.locals.message = err.message; res.locals.error = req.app.get('env') === 'development' ? err : {}; // render the error page res.status(err.status || 500); }); module.exports = app;