mirror of
https://github.com/DIYgod/RSSHub.git
synced 2025-12-02 10:08:02 +08:00
feat(route): add sass/gs/sstmzs (#12159)
* feat(route):add sassorgcn/gs/:type * feat(route):add sassorgcn/gs/:type * update:sassorgcn docs & radar * fix: docs add </Route> tag in /sassorgcn/gs/:type * update: sassorgcn docs * refactor: fix namespace ---------
This commit is contained in:
@@ -2558,6 +2558,18 @@ jsjxy.hbut.edu.cn 证书链不全,自建 RSSHub 可设置环境变量 NODE_TLS
|
|||||||
|
|
||||||
<Route author="NeverBehave" example="/slu/tyyjkxy/14754" path="/slu/tyyjkxy/:id" :paramsDesc="['类别ID']" />
|
<Route author="NeverBehave" example="/slu/tyyjkxy/14754" path="/slu/tyyjkxy/:id" :paramsDesc="['类别ID']" />
|
||||||
|
|
||||||
|
## 上海社会科学院
|
||||||
|
|
||||||
|
### 研究生院
|
||||||
|
|
||||||
|
<Route author="yanbot-team" example="/sass/gs/1793" path="/sass/gs/:type" :paramsDesc="['类别 ID,见下表,其他未列出的栏目参数可以从页面的 URL Path 中找到,例如:硕士统考招生的网址为 `https://gs.sass.org.cn/1793/list.htm`,则类别 ID 为`1793`']" radar="1" >
|
||||||
|
|
||||||
|
| 硕士统考招生 | 硕士推免招生 |
|
||||||
|
| ------------ | ------------ |
|
||||||
|
| 1793 | sstmzs |
|
||||||
|
|
||||||
|
</Route>
|
||||||
|
|
||||||
## 深圳大学
|
## 深圳大学
|
||||||
|
|
||||||
### 深圳大学研究生招生网通知公告
|
### 深圳大学研究生招生网通知公告
|
||||||
|
|||||||
55
lib/v2/sass/gs/index.js
Normal file
55
lib/v2/sass/gs/index.js
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
const got = require('@/utils/got');
|
||||||
|
const cheerio = require('cheerio');
|
||||||
|
const { parseDate } = require('@/utils/parse-date');
|
||||||
|
|
||||||
|
const host = 'https://gs.sass.org.cn';
|
||||||
|
module.exports = async (ctx) => {
|
||||||
|
const type = ctx.params.type;
|
||||||
|
const url = `${host}/${type}/list.htm`;
|
||||||
|
|
||||||
|
const response = await got(url);
|
||||||
|
|
||||||
|
const $ = cheerio.load(response.data);
|
||||||
|
const list = $('.column-news-list .cols_list .cols');
|
||||||
|
const items = await Promise.all(
|
||||||
|
list.map((i, item) => {
|
||||||
|
const [titleLink, time] = item.children;
|
||||||
|
const itemDate = $(time).text();
|
||||||
|
const { href: path, title: itemTitle } = titleLink.children[0].attribs;
|
||||||
|
|
||||||
|
let itemUrl = '';
|
||||||
|
if (path.startsWith('http')) {
|
||||||
|
itemUrl = path;
|
||||||
|
} else {
|
||||||
|
itemUrl = host + path;
|
||||||
|
}
|
||||||
|
return ctx.cache.tryGet(itemUrl, async () => {
|
||||||
|
let description = '';
|
||||||
|
if (itemUrl) {
|
||||||
|
const result = await got(itemUrl);
|
||||||
|
const $ = cheerio.load(result.data);
|
||||||
|
if ($('.read .wp_articlecontent').length) {
|
||||||
|
description = $('.read .wp_articlecontent').html().trim();
|
||||||
|
} else {
|
||||||
|
description = itemTitle;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
description = itemTitle;
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
title: itemTitle,
|
||||||
|
link: itemUrl,
|
||||||
|
description,
|
||||||
|
pubDate: parseDate(itemDate, 'YYYY-MM-DD'),
|
||||||
|
};
|
||||||
|
});
|
||||||
|
})
|
||||||
|
);
|
||||||
|
// 处理返回
|
||||||
|
ctx.state.data = {
|
||||||
|
title: '上海社会科学院 - 研究生院',
|
||||||
|
link: url,
|
||||||
|
description: '上海社会科学院 - 研究生院',
|
||||||
|
item: items,
|
||||||
|
};
|
||||||
|
};
|
||||||
3
lib/v2/sass/maintainer.js
Normal file
3
lib/v2/sass/maintainer.js
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
module.exports = {
|
||||||
|
'/gs/:type': ['yanbot-team'],
|
||||||
|
};
|
||||||
13
lib/v2/sass/radar.js
Normal file
13
lib/v2/sass/radar.js
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
module.exports = {
|
||||||
|
'sass.org.cn': {
|
||||||
|
_name: '上海社会科学院',
|
||||||
|
gs: [
|
||||||
|
{
|
||||||
|
title: '研究生院',
|
||||||
|
docs: 'https://docs.rsshub.app/university.html#shang-hai-she-hui-ke-xue-yuan-yan-jiu-sheng-yuan',
|
||||||
|
source: ['/:type/list.htm'],
|
||||||
|
target: '/sass/gs/:type',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
};
|
||||||
3
lib/v2/sass/router.js
Normal file
3
lib/v2/sass/router.js
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
module.exports = (router) => {
|
||||||
|
router.get('/gs/:type', require('./gs/index'));
|
||||||
|
};
|
||||||
Reference in New Issue
Block a user