diff --git a/docs/README.md b/docs/README.md index fe0d70f96..676f66998 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1262,6 +1262,11 @@ category 列表: +### 大连大学 + + + + ## 传统媒体 ### 央视新闻 diff --git a/router.js b/router.js index e60f06800..caf3d9753 100644 --- a/router.js +++ b/router.js @@ -564,6 +564,9 @@ router.get('/sdu/cmse/:type?', require('./routes/universities/sdu/cmse')); router.get('/sdu/mech/:type?', require('./routes/universities/sdu/mech')); router.get('/sdu/epe/:type?', require('./routes/universities/sdu/epe')); +// 大连大学 +router.get('/dlu/jiaowu/news', require('./routes/universities/dlu/jiaowu/news')); + // ifanr router.get('/ifanr/:channel?', require('./routes/ifanr/index')); diff --git a/routes/universities/dlu/jiaowu/news.js b/routes/universities/dlu/jiaowu/news.js new file mode 100644 index 000000000..69b21957d --- /dev/null +++ b/routes/universities/dlu/jiaowu/news.js @@ -0,0 +1,47 @@ +const axios = require('../../../../utils/axios'); +const iconv = require('iconv-lite'); +const cheerio = require('cheerio'); +const resolve_url = require('url').resolve; + +const base_url = 'http://jwc1.dlu.edu.cn/'; + +// const map = { +// 2: '/gsgg.htm', +// 3: '/jwtz.htm', +// 4: '/jwwj.htm', +// 5: '/xxwj.htm' +// }; +module.exports = async (ctx) => { + // const type = ctx.params.type || '2'; + // const link = `${base_url}${map[type]}`; + + const response = await axios({ + method: 'get', + url: base_url, + // url:link, + responseType: 'arraybuffer', + headers: { + Referer: base_url, + }, + }); + + const $ = cheerio.load(iconv.decode(response.data, 'utf-8')); + + ctx.state.data = { + link: base_url, + title: '大连大学教务处', + item: $('td[valign="top"]>table[cellspacing="3"][width="100%"] tr') + .map((_, elem) => ({ + link: resolve_url(base_url, $('a', elem).attr('href')), + title: $('a', elem).attr('title'), + pubDate: new Date( + new Date().getFullYear() + + '-' + + $('[class*="timestyle"]', elem) + .text() + .replace('/', '-') + ).toUTCString(), + })) + .get(), + }; +};