diff --git a/docs/university.md b/docs/university.md index f1f8afb10..ed4322e6f 100644 --- a/docs/university.md +++ b/docs/university.md @@ -1958,6 +1958,44 @@ type 列表: +## 西北农林科技大学 + +### 校园要闻 + + + +### 教务公告 + + + +### 后勤公告 + + + +### 图书馆公告 + + + +### 网教中心公告 + + + +### 团委公告 + + + +### 计财处公告 + + + +### 研究生院公告 + + + +### 信息工程学院公告 + + + ## 西南财经大学 ### 经济信息工程学院 diff --git a/lib/router.js b/lib/router.js index 66a305c9e..bd53b22ba 100644 --- a/lib/router.js +++ b/lib/router.js @@ -807,6 +807,17 @@ router.get('/uestc/cqe/:type?', require('./routes/universities/uestc/cqe')); router.get('/uestc/gr', require('./routes/universities/uestc/gr')); router.get('/uestc/sice', require('./routes/universities/uestc/sice')); +// 西北农林科技大学 +router.get('/nwafu/news', require('./routes/universities/nwafu/news')); +router.get('/nwafu/jiaowu', require('./routes/universities/nwafu/jiaowu')); +router.get('/nwafu/gs', require('./routes/universities/nwafu/gs')); +router.get('/nwafu/lib', require('./routes/universities/nwafu/lib')); +router.get('/nwafu/nic', require('./routes/universities/nwafu/nic')); +router.get('/nwafu/54youth', require('./routes/universities/nwafu/54youth')); +router.get('/nwafu/jcc', require('./routes/universities/nwafu/jcc')); +router.get('/nwafu/yjshy', require('./routes/universities/nwafu/yjshy')); +router.get('/nwafu/cie', require('./routes/universities/nwafu/cie')); + // 云南大学 router.get('/ynu/grs/zytz', require('./routes/universities/ynu/grs/zytz')); router.get('/ynu/grs/qttz/:category', require('./routes/universities/ynu/grs/qttz')); diff --git a/lib/routes/universities/nwafu/54youth.js b/lib/routes/universities/nwafu/54youth.js new file mode 100644 index 000000000..231382c58 --- /dev/null +++ b/lib/routes/universities/nwafu/54youth.js @@ -0,0 +1,28 @@ +const got = require('@/utils/got'); +const cheerio = require('cheerio'); +const { parseDate } = require('@/utils/parse-date'); + +module.exports = async (ctx) => { + const response = await got({ + method: 'get', + url: 'https://54youth.nwsuaf.edu.cn/wjtz/tzgg/index.htm', + }); + + const data = response.data; + + const $ = cheerio.load(data); + const list = $('.news-list > li'); + + ctx.state.data = { + title: '西北农林科技大学 - 团委公告', + link: 'https://54youth.nwsuaf.edu.cn/wjtz/tzgg/index.htm', + item: + list && + list + .map((index, item) => { + item = $(item); + return { title: item.find('li a').text(), description: item.find('li a').text(), pubDate: parseDate(item.find('span').text(), 'YYYY/MM/DD'), link: item.find('li a').attr('href') }; + }) + .get(), + }; +}; diff --git a/lib/routes/universities/nwafu/cie.js b/lib/routes/universities/nwafu/cie.js new file mode 100644 index 000000000..4855f8776 --- /dev/null +++ b/lib/routes/universities/nwafu/cie.js @@ -0,0 +1,28 @@ +const got = require('@/utils/got'); +const cheerio = require('cheerio'); +const { parseDate } = require('@/utils/parse-date'); + +module.exports = async (ctx) => { + const response = await got({ + method: 'get', + url: 'https://cie.nwafu.edu.cn/dtytz/tzgg/index.htm', + }); + + const data = response.data; + + const $ = cheerio.load(data); + const list = $('#sort > dd > ul > li'); + + ctx.state.data = { + title: '西北农林科技大学 - 信工学院公告', + link: 'https://cie.nwafu.edu.cn/dtytz/tzgg/index.htm', + item: + list && + list + .map((index, item) => { + item = $(item); + return { title: item.find('li a').text(), description: item.find('li a').text(), pubDate: parseDate(item.find('span').text(), 'YYYY/MM/DD'), link: item.find('li a').attr('href') }; + }) + .get(), + }; +}; diff --git a/lib/routes/universities/nwafu/gs.js b/lib/routes/universities/nwafu/gs.js new file mode 100644 index 000000000..a86852e3c --- /dev/null +++ b/lib/routes/universities/nwafu/gs.js @@ -0,0 +1,28 @@ +const got = require('@/utils/got'); +const cheerio = require('cheerio'); +const { parseDate } = require('@/utils/parse-date'); + +module.exports = async (ctx) => { + const response = await got({ + method: 'get', + url: 'https://gs.nwsuaf.edu.cn/tzggB/index.htm', + }); + + const data = response.data; + + const $ = cheerio.load(data); + const list = $('#sort > dd > .list > li'); + + ctx.state.data = { + title: '西北农林科技大学 - 后勤公告', + link: 'https://gs.nwsuaf.edu.cn/tzggB/index.htm', + item: + list && + list + .map((index, item) => { + item = $(item); + return { title: item.find('li a').text(), description: item.find('li a').text(), pubDate: parseDate(item.find('span').text(), 'YYYY/MM/DD'), link: item.find('li a').attr('href') }; + }) + .get(), + }; +}; diff --git a/lib/routes/universities/nwafu/jcc.js b/lib/routes/universities/nwafu/jcc.js new file mode 100644 index 000000000..b2c7e7e31 --- /dev/null +++ b/lib/routes/universities/nwafu/jcc.js @@ -0,0 +1,28 @@ +const got = require('@/utils/got'); +const cheerio = require('cheerio'); +const { parseDate } = require('@/utils/parse-date'); + +module.exports = async (ctx) => { + const response = await got({ + method: 'get', + url: 'https://jcc.nwafu.edu.cn/tzgg/index.htm', + }); + + const data = response.data; + + const $ = cheerio.load(data); + const list = $('#sort > dd > .list > li'); + + ctx.state.data = { + title: '西北农林科技大学 - 计财处公告', + link: 'https://jcc.nwafu.edu.cn/tzgg/index.htm', + item: + list && + list + .map((index, item) => { + item = $(item); + return { title: item.find('li a').text(), description: item.find('li a').text(), pubDate: parseDate(item.find('span').text(), 'YYYY/MM/DD'), link: item.find('li a').attr('href') }; + }) + .get(), + }; +}; diff --git a/lib/routes/universities/nwafu/jiaowu.js b/lib/routes/universities/nwafu/jiaowu.js new file mode 100644 index 000000000..db2b929b3 --- /dev/null +++ b/lib/routes/universities/nwafu/jiaowu.js @@ -0,0 +1,28 @@ +const got = require('@/utils/got'); +const cheerio = require('cheerio'); +const { parseDate } = require('@/utils/parse-date'); + +module.exports = async (ctx) => { + const response = await got({ + method: 'get', + url: 'https://jiaowu.nwafu.edu.cn/tzggB/index.htm', + }); + + const data = response.data; + + const $ = cheerio.load(data); + const list = $('.list-i > ul > li'); + + ctx.state.data = { + title: '西北农林科技大学 - 教务公告', + link: 'https://jiaowu.nwafu.edu.cn/tzggB/index.htm', + item: + list && + list + .map((index, item) => { + item = $(item); + return { title: item.find('li a').text(), description: item.find('li a').text(), pubDate: parseDate(item.find('span').text(), 'YYYY/MM/DD'), link: item.find('li a').attr('href') }; + }) + .get(), + }; +}; diff --git a/lib/routes/universities/nwafu/lib.js b/lib/routes/universities/nwafu/lib.js new file mode 100644 index 000000000..d6371a540 --- /dev/null +++ b/lib/routes/universities/nwafu/lib.js @@ -0,0 +1,28 @@ +const got = require('@/utils/got'); +const cheerio = require('cheerio'); +const { parseDate } = require('@/utils/parse-date'); + +module.exports = async (ctx) => { + const response = await got({ + method: 'get', + url: 'https://lib.nwafu.edu.cn/gg/index.htm', + }); + + const data = response.data; + + const $ = cheerio.load(data); + const list = $('.articleList2.articleList > ul > li'); + + ctx.state.data = { + title: '西北农林科技大学 - 图书馆公告', + link: 'https://lib.nwafu.edu.cn/gg/index.htm', + item: + list && + list + .map((index, item) => { + item = $(item); + return { title: item.find('li a').text(), description: item.find('li a').text(), pubDate: parseDate(item.find('span').text().slice(1, -1), 'YYYY/MM/DD'), link: item.find('li a').attr('href') }; + }) + .get(), + }; +}; diff --git a/lib/routes/universities/nwafu/news.js b/lib/routes/universities/nwafu/news.js new file mode 100644 index 000000000..49ad66aa6 --- /dev/null +++ b/lib/routes/universities/nwafu/news.js @@ -0,0 +1,28 @@ +const got = require('@/utils/got'); +const cheerio = require('cheerio'); +const { parseDate } = require('@/utils/parse-date'); + +module.exports = async (ctx) => { + const response = await got({ + method: 'get', + url: 'https://news.nwafu.edu.cn/xnxw/index.htm', + }); + + const data = response.data; + + const $ = cheerio.load(data); + const list = $('.list01 > li'); + + ctx.state.data = { + title: '西北农林科技大学 - 校园新闻', + link: 'https://news.nwafu.edu.cn/xnxw/index.htm', + item: + list && + list + .map((index, item) => { + item = $(item); + return { title: item.find('li a').text(), description: item.find('li a').text(), pubDate: parseDate(item.find('span').text(), 'YYYY/MM/DD'), link: item.find('li a').attr('href') }; + }) + .get(), + }; +}; diff --git a/lib/routes/universities/nwafu/nic.js b/lib/routes/universities/nwafu/nic.js new file mode 100644 index 000000000..8e65b5590 --- /dev/null +++ b/lib/routes/universities/nwafu/nic.js @@ -0,0 +1,28 @@ +const got = require('@/utils/got'); +const cheerio = require('cheerio'); +const { parseDate } = require('@/utils/parse-date'); + +module.exports = async (ctx) => { + const response = await got({ + method: 'get', + url: 'https://nic.nwafu.edu.cn/tzgg1/index.htm', + }); + + const data = response.data; + + const $ = cheerio.load(data); + const list = $('#sort > dd > .list > li'); + + ctx.state.data = { + title: '西北农林科技大学 - 网教中心公告', + link: 'https://nic.nwafu.edu.cn/tzgg1/index.htm', + item: + list && + list + .map((index, item) => { + item = $(item); + return { title: item.find('li a').text(), description: item.find('li a').text(), pubDate: parseDate(item.find('span').text(), 'YYYY/MM/DD'), link: item.find('li a').attr('href') }; + }) + .get(), + }; +}; diff --git a/lib/routes/universities/nwafu/yjshy.js b/lib/routes/universities/nwafu/yjshy.js new file mode 100644 index 000000000..eaf58faa0 --- /dev/null +++ b/lib/routes/universities/nwafu/yjshy.js @@ -0,0 +1,28 @@ +const got = require('@/utils/got'); +const cheerio = require('cheerio'); +const { parseDate } = require('@/utils/parse-date'); + +module.exports = async (ctx) => { + const response = await got({ + method: 'get', + url: 'https://yjshy.nwafu.edu.cn/tzgg/index.htm', + }); + + const data = response.data; + + const $ = cheerio.load(data); + const list = $('.sort_rightcont > ul > li'); + + ctx.state.data = { + title: '西北农林科技大学 - 研究生院公告', + link: 'https://yjshy.nwafu.edu.cn/tzgg/index.htm', + item: + list && + list + .map((index, item) => { + item = $(item); + return { title: item.find('li a').text(), description: item.find('li a').text(), pubDate: parseDate(item.find('span').text().slice(1, -1), 'YYYY/MM/DD'), link: item.find('li a').attr('href') }; + }) + .get(), + }; +};