diff --git a/docs/university.md b/docs/university.md index b451a25ae..032a3036b 100644 --- a/docs/university.md +++ b/docs/university.md @@ -2342,3 +2342,9 @@ type 列表: ### 数据科学与计算机学院动态 + +## 海南大学 + +### 硕士研究生招生动态 + + diff --git a/lib/router.js b/lib/router.js index 4e288c29c..89dc4ab42 100644 --- a/lib/router.js +++ b/lib/router.js @@ -4097,4 +4097,7 @@ router.get('/tongli/news/:type', require('./routes/tongli/news')); // OR router.get('/or/:id?', require('./routes/or')); +// 海南大学 +router.get('/hainanu/ssszs', require('./routes/hainanu/ssszs')); + module.exports = router; diff --git a/lib/routes/hainanu/ssszs.js b/lib/routes/hainanu/ssszs.js new file mode 100644 index 000000000..f358a77e9 --- /dev/null +++ b/lib/routes/hainanu/ssszs.js @@ -0,0 +1,36 @@ +const got = require('@/utils/got'); +const cheerio = require('cheerio'); +const { parseDate } = require('@/utils/parse-date'); + +module.exports = async (ctx) => { + const url = 'https://ha.hainanu.edu.cn/gs/yjszs/ssszs.htm'; + const response = await got({ + method: 'get', + url, + }); + + const data = response.data; + + const $ = cheerio.load(data); + const list = $('.m_new13>ul>li'); + + ctx.state.data = { + title: '海南大学研究生招生', + link: url, + description: '海南大学研究生招生公告', + item: + list && + list + .map((index, item) => { + item = $(item); + const date = item.find('span').text(); + const pubDate = parseDate(date, 'YYYY-MM-DD'); + return { + title: item.find('a').text(), + link: item.find('a').attr('href'), + pubDate, + }; + }) + .get(), + }; +};