Files
RSSHub/lib/routes/cug/graduate.js
sanmmmm 1b45fdb2ed fix: 后续live & feat: 中国地质大学(武汉) 研究生院综合通知公告 (#3074)
* fix: 后续live

* feat: 中国地质大学(武汉) 研究生院综合通知公告
2019-09-15 12:43:31 +08:00

47 lines
1.7 KiB
JavaScript

const cheerio = require('cheerio');
const got = require('@/utils/got');
module.exports = async (ctx) => {
const baseUrl = 'http://graduate.cug.edu.cn';
const reqUrl = `${baseUrl}/zhtzgg.htm`;
const res = await got(reqUrl);
const selector = 'div.mainWrap > div.main_con > div.main_conR.main_conRa > div.main_conRCb > ul > li';
const links = cheerio
.load(res.data)(selector)
.map((_, ele) => {
const $item = cheerio.load(ele);
const link = `${baseUrl}/${$item('a').attr('href')}`;
return link;
})
.get();
const item = await Promise.all(
links.map((link) =>
ctx.cache.tryGet(`cug/${link}`, async () => {
const res = await got(link);
const $ = cheerio.load(res.data);
const mainNode = $('.main_content');
const description = mainNode.find('.main_conDiv').html();
const title = mainNode.find('.main_contit h2').text();
const pubTime = mainNode
.find('.main_contit p')
.text()
.split(' ')
.find((s) => s.includes('时间'))
.replace('时间:', '');
return {
title,
description,
pubDate: new Date(pubTime).toUTCString(),
};
})
)
);
ctx.state.data = {
title: '中国地址大学(武汉)研究生院 - 综合通知公告',
description: '中国地址大学(武汉)研究生院 - 综合通知公告',
link: `${baseUrl}/zhtzgg.htm`,
item,
};
};