From 1f59667cb0a5869dc97b77f9299151fdf2e3dd64 Mon Sep 17 00:00:00 2001 From: Ray Wong Date: Tue, 5 Mar 2019 12:06:44 +0800 Subject: [PATCH 1/2] fix failed route: universities/hust/ rel: issues/1680 1. fix /hust/auto/notice/:type? & /hust/auto/new 2. add /hust/aia/notice/:type? & /hust/aia/new --- docs/README.md | 4 +-- lib/router.js | 2 ++ lib/routes/universities/hust/aia/news.js | 34 ++++++++++++++++++ lib/routes/universities/hust/aia/notice.js | 39 +++++++++++++++++++++ lib/routes/universities/hust/auto/news.js | 8 ++--- lib/routes/universities/hust/auto/notice.js | 8 ++--- 6 files changed, 85 insertions(+), 10 deletions(-) mode change 100644 => 100755 docs/README.md mode change 100644 => 100755 lib/router.js create mode 100755 lib/routes/universities/hust/aia/news.js create mode 100755 lib/routes/universities/hust/aia/notice.js mode change 100644 => 100755 lib/routes/universities/hust/auto/news.js mode change 100644 => 100755 lib/routes/universities/hust/auto/notice.js diff --git a/docs/README.md b/docs/README.md old mode 100644 new mode 100755 index dd52ebc7c..5011050ef --- a/docs/README.md +++ b/docs/README.md @@ -1827,7 +1827,7 @@ https://rsshub.app/**nuist**/`bulletin` 或 https://rsshub.app/**nuist**/`bullet ### 华中科技大学 - + | 最新 | 行政 | 人事 | 科研 | 讲座 | 本科生 | 研究生 | 学工 | | ---- | ---- | ---- | ---- | ---- | ------ | ------ | ---- | @@ -1835,7 +1835,7 @@ https://rsshub.app/**nuist**/`bulletin` 或 https://rsshub.app/**nuist**/`bullet - + ### 山东大学 diff --git a/lib/router.js b/lib/router.js old mode 100644 new mode 100755 index 9e5ffb8cb..f0a9ffdf3 --- a/lib/router.js +++ b/lib/router.js @@ -667,6 +667,8 @@ router.get('/kmust/job/jobfairs', require('./routes/universities/kmust/job/jobfa // 华中科技大学 router.get('/hust/auto/notice/:type?', require('./routes/universities/hust/auto/notice')); router.get('/hust/auto/news/', require('./routes/universities/hust/auto/news')); +router.get('/hust/aia/news/', require('./routes/universities/hust/aia/news')); +router.get('/hust/aia/notice/:type?', require('./routes/universities/hust/aia/notice')); // 山东大学 router.get('/sdu/grad/academic', require('./routes/universities/sdu/grad/academic')); diff --git a/lib/routes/universities/hust/aia/news.js b/lib/routes/universities/hust/aia/news.js new file mode 100755 index 000000000..eaeaafa80 --- /dev/null +++ b/lib/routes/universities/hust/aia/news.js @@ -0,0 +1,34 @@ +const axios = require('../../../../utils/axios'); +const cheerio = require('cheerio'); +const url = require('url').resolve; + +module.exports = async (ctx) => { + const link = 'http://aia.hust.edu.cn/yxxw.htm'; + const response = await axios.get(link); + const $ = cheerio.load(response.data); + const list = $('.N02_list li dl'); + + ctx.state.data = { + title: '华科人工智能和自动化学院新闻', + link: link, + description: '华科人工智能和自动化学院新闻', + item: + list && + list + .map((index, item) => { + item = $(item); + const day = item.find('.N02_list_Icon i').text(); + item.find('.N02_list_Icon') + .find('i') + .remove(); + const year_month = item.find('.N02_list_Icon').text(); + return { + title: item.find('h4 a').text(), + description: item.find('dd p').text() || '华科人工智能和自动化学院新闻', + pubDate: new Date(year_month + ' ' + day).toUTCString(), + link: url(link, item.find('h4 a').attr('href')), + }; + }) + .get(), + }; +}; diff --git a/lib/routes/universities/hust/aia/notice.js b/lib/routes/universities/hust/aia/notice.js new file mode 100755 index 000000000..dbdaef71d --- /dev/null +++ b/lib/routes/universities/hust/aia/notice.js @@ -0,0 +1,39 @@ +const axios = require('../../../../utils/axios'); +const cheerio = require('cheerio'); +const url = require('url').resolve; + +const typelist = ['最新', '行政', '人事', '科研', '讲座', '本科生', '研究生', '学工']; + +module.exports = async (ctx) => { + const type = parseInt(ctx.params.type) || 0; + const link = 'http://aia.hust.edu.cn/'; + const response = await axios.get(link); + const $ = cheerio.load(response.data); + const list = $('.m_content .m_con') + .eq(type) + .find('.N02_list_dl'); + + ctx.state.data = { + title: `华科人工智能和自动化学院${typelist[type]}通知`, + link: link, + description: `华科人工智能和自动化学院${typelist[type]}通知`, + item: + list && + list + .map((index, item) => { + item = $(item); + const day = item.find('.N02_list_Icon i').text(); + item.find('.N02_list_Icon') + .find('i') + .remove(); + const year_month = item.find('.N02_list_Icon').text(); + return { + title: item.find('h4 a').text(), + description: item.find('dd p').text() || `华科人工智能和自动化学院${typelist[type]}通知`, + pubDate: new Date(year_month + ' ' + day).toUTCString(), + link: url(link, item.find('h4 a').attr('href')), + }; + }) + .get(), + }; +}; diff --git a/lib/routes/universities/hust/auto/news.js b/lib/routes/universities/hust/auto/news.js old mode 100644 new mode 100755 index b243deaab..eaeaafa80 --- a/lib/routes/universities/hust/auto/news.js +++ b/lib/routes/universities/hust/auto/news.js @@ -3,15 +3,15 @@ const cheerio = require('cheerio'); const url = require('url').resolve; module.exports = async (ctx) => { - const link = 'http://auto.hust.edu.cn/yxxw.htm'; + const link = 'http://aia.hust.edu.cn/yxxw.htm'; const response = await axios.get(link); const $ = cheerio.load(response.data); const list = $('.N02_list li dl'); ctx.state.data = { - title: '华科自动化学院新闻', + title: '华科人工智能和自动化学院新闻', link: link, - description: '华科自动化学院新闻', + description: '华科人工智能和自动化学院新闻', item: list && list @@ -24,7 +24,7 @@ module.exports = async (ctx) => { const year_month = item.find('.N02_list_Icon').text(); return { title: item.find('h4 a').text(), - description: item.find('dd p').text() || '华科自动化学院新闻', + description: item.find('dd p').text() || '华科人工智能和自动化学院新闻', pubDate: new Date(year_month + ' ' + day).toUTCString(), link: url(link, item.find('h4 a').attr('href')), }; diff --git a/lib/routes/universities/hust/auto/notice.js b/lib/routes/universities/hust/auto/notice.js old mode 100644 new mode 100755 index f6ab93ab8..dbdaef71d --- a/lib/routes/universities/hust/auto/notice.js +++ b/lib/routes/universities/hust/auto/notice.js @@ -6,7 +6,7 @@ const typelist = ['最新', '行政', '人事', '科研', '讲座', '本科生', module.exports = async (ctx) => { const type = parseInt(ctx.params.type) || 0; - const link = 'http://auto.hust.edu.cn/'; + const link = 'http://aia.hust.edu.cn/'; const response = await axios.get(link); const $ = cheerio.load(response.data); const list = $('.m_content .m_con') @@ -14,9 +14,9 @@ module.exports = async (ctx) => { .find('.N02_list_dl'); ctx.state.data = { - title: `华科自动化学院${typelist[type]}通知`, + title: `华科人工智能和自动化学院${typelist[type]}通知`, link: link, - description: `华科自动化学院${typelist[type]}通知`, + description: `华科人工智能和自动化学院${typelist[type]}通知`, item: list && list @@ -29,7 +29,7 @@ module.exports = async (ctx) => { const year_month = item.find('.N02_list_Icon').text(); return { title: item.find('h4 a').text(), - description: item.find('dd p').text() || `华科自动化学院${typelist[type]}通知`, + description: item.find('dd p').text() || `华科人工智能和自动化学院${typelist[type]}通知`, pubDate: new Date(year_month + ' ' + day).toUTCString(), link: url(link, item.find('h4 a').attr('href')), }; From 9adee55fe265918b24373087e55beb53699bb6bd Mon Sep 17 00:00:00 2001 From: Ray Wong Date: Tue, 5 Mar 2019 15:36:19 +0800 Subject: [PATCH 2/2] delete duplicate router --- lib/router.js | 4 +-- lib/routes/universities/hust/auto/news.js | 34 ------------------ lib/routes/universities/hust/auto/notice.js | 39 --------------------- 3 files changed, 2 insertions(+), 75 deletions(-) delete mode 100755 lib/routes/universities/hust/auto/news.js delete mode 100755 lib/routes/universities/hust/auto/notice.js diff --git a/lib/router.js b/lib/router.js index f0a9ffdf3..2839d1aed 100755 --- a/lib/router.js +++ b/lib/router.js @@ -665,8 +665,8 @@ router.get('/kmust/job/careers/:type?', require('./routes/universities/kmust/job router.get('/kmust/job/jobfairs', require('./routes/universities/kmust/job/jobfairs')); // 华中科技大学 -router.get('/hust/auto/notice/:type?', require('./routes/universities/hust/auto/notice')); -router.get('/hust/auto/news/', require('./routes/universities/hust/auto/news')); +router.get('/hust/auto/notice/:type?', require('./routes/universities/hust/aia/notice')); +router.get('/hust/auto/news/', require('./routes/universities/hust/aia/news')); router.get('/hust/aia/news/', require('./routes/universities/hust/aia/news')); router.get('/hust/aia/notice/:type?', require('./routes/universities/hust/aia/notice')); diff --git a/lib/routes/universities/hust/auto/news.js b/lib/routes/universities/hust/auto/news.js deleted file mode 100755 index eaeaafa80..000000000 --- a/lib/routes/universities/hust/auto/news.js +++ /dev/null @@ -1,34 +0,0 @@ -const axios = require('../../../../utils/axios'); -const cheerio = require('cheerio'); -const url = require('url').resolve; - -module.exports = async (ctx) => { - const link = 'http://aia.hust.edu.cn/yxxw.htm'; - const response = await axios.get(link); - const $ = cheerio.load(response.data); - const list = $('.N02_list li dl'); - - ctx.state.data = { - title: '华科人工智能和自动化学院新闻', - link: link, - description: '华科人工智能和自动化学院新闻', - item: - list && - list - .map((index, item) => { - item = $(item); - const day = item.find('.N02_list_Icon i').text(); - item.find('.N02_list_Icon') - .find('i') - .remove(); - const year_month = item.find('.N02_list_Icon').text(); - return { - title: item.find('h4 a').text(), - description: item.find('dd p').text() || '华科人工智能和自动化学院新闻', - pubDate: new Date(year_month + ' ' + day).toUTCString(), - link: url(link, item.find('h4 a').attr('href')), - }; - }) - .get(), - }; -}; diff --git a/lib/routes/universities/hust/auto/notice.js b/lib/routes/universities/hust/auto/notice.js deleted file mode 100755 index dbdaef71d..000000000 --- a/lib/routes/universities/hust/auto/notice.js +++ /dev/null @@ -1,39 +0,0 @@ -const axios = require('../../../../utils/axios'); -const cheerio = require('cheerio'); -const url = require('url').resolve; - -const typelist = ['最新', '行政', '人事', '科研', '讲座', '本科生', '研究生', '学工']; - -module.exports = async (ctx) => { - const type = parseInt(ctx.params.type) || 0; - const link = 'http://aia.hust.edu.cn/'; - const response = await axios.get(link); - const $ = cheerio.load(response.data); - const list = $('.m_content .m_con') - .eq(type) - .find('.N02_list_dl'); - - ctx.state.data = { - title: `华科人工智能和自动化学院${typelist[type]}通知`, - link: link, - description: `华科人工智能和自动化学院${typelist[type]}通知`, - item: - list && - list - .map((index, item) => { - item = $(item); - const day = item.find('.N02_list_Icon i').text(); - item.find('.N02_list_Icon') - .find('i') - .remove(); - const year_month = item.find('.N02_list_Icon').text(); - return { - title: item.find('h4 a').text(), - description: item.find('dd p').text() || `华科人工智能和自动化学院${typelist[type]}通知`, - pubDate: new Date(year_month + ' ' + day).toUTCString(), - link: url(link, item.find('h4 a').attr('href')), - }; - }) - .get(), - }; -};