diff --git a/lib/routes/universities/scu/jwc.js b/lib/routes/universities/scu/jwc.js index 6e76dbf6e..6109b9012 100644 --- a/lib/routes/universities/scu/jwc.js +++ b/lib/routes/universities/scu/jwc.js @@ -16,9 +16,15 @@ async function load_detail(list, cache) { }, }); const detail = cheerio.load(detail_response.data); + const date_part = detail('.list-main-content > .list-a-content > .page-date > span') + .text() + .slice(6, 16) + .split('-'); + const date = new Date(date_part[0], date_part[1] - 1, date_part[2]); return { title: notice_item('li').attr('title'), description: detail('.list-main-content > .list-a-content > .page-content').html(), + pubDate: date, link: url, }; }); @@ -36,9 +42,7 @@ module.exports = async (ctx) => { }, }); const $ = cheerio.load(response.data); - const list = $('.list-ll-b > .edit_option >.list-llb-box > .list-llb-s > .list-llb-list') - .slice(0, 10) - .get(); + const list = $('.list-ll-b > .edit_option >.list-llb-box > .list-llb-s > .list-llb-list').get(); const detail = await load_detail(list, ctx.cache); ctx.state.data = { title: '四川大学教务处 - 通知公告', diff --git a/lib/routes/universities/scu/xg.js b/lib/routes/universities/scu/xg.js index b218e265f..7f14fe99e 100644 --- a/lib/routes/universities/scu/xg.js +++ b/lib/routes/universities/scu/xg.js @@ -6,6 +6,11 @@ async function load_detail(list, cache) { list.map(async (item) => { const notice_item = cheerio.load(item); const url = 'http://xsc.scu.edu.cn' + notice_item('a').attr('href'); + + const date_part = notice_item('a > span') + .text() + .split('-'); + const date = new Date(new Date().getFullYear(), date_part[0] - 1, date_part[1]); return await cache.tryGet(url, async () => { const detail_response = await got({ method: 'get', @@ -19,6 +24,7 @@ async function load_detail(list, cache) { return { title: notice_item('a').attr('title'), description: detail('.news-content').html(), + pubDate: date, link: url, }; }); @@ -27,7 +33,7 @@ async function load_detail(list, cache) { } module.exports = async (ctx) => { - const response = await got({ + const index_response = await got({ method: 'get', url: 'http://xsc.scu.edu.cn/WEBSITE/XG', headers: { @@ -35,10 +41,21 @@ module.exports = async (ctx) => { }, }); - const data = response.data; + const index_data = index_response.data; + const $_ = cheerio.load(index_data); + const notice_url = 'http://xsc.scu.edu.cn' + $_('.news-pannel.notice-news > .news-head > a').attr('href'); + const response = await got({ + method: 'get', + url: notice_url, + headers: { + Host: 'xsc.scu.edu.cn', + }, + }); + + const data = response.data; const $ = cheerio.load(data); - const list = $('.news-pannel.notice-news > .news-body > .news-list > ul > li').get(); + const list = $('.news-list > ul > li').get(); const detail = await load_detail(list, ctx.cache);