mirror of
https://github.com/DIYgod/RSSHub.git
synced 2025-12-16 11:37:44 +08:00
新增大连工业大学网络服务新闻 优化结构 (#599)
This commit is contained in:
@@ -270,6 +270,7 @@ RSSHub 是一个轻量、易于扩展的 RSS 生成器,可以给任何奇奇
|
|||||||
- 文章
|
- 文章
|
||||||
- 大连工业大学
|
- 大连工业大学
|
||||||
- 教务处新闻
|
- 教务处新闻
|
||||||
|
- 网络服务新闻
|
||||||
- 东南大学
|
- 东南大学
|
||||||
- 信息科学与工程学院学术活动
|
- 信息科学与工程学院学术活动
|
||||||
- 上海科技大学
|
- 上海科技大学
|
||||||
|
|||||||
@@ -322,17 +322,29 @@ RSSHub 同时支持 RSS 2.0、Atom 和 [JSON Feed](https://jsonfeed.org/) 输出
|
|||||||
|
|
||||||
#### 教务处新闻 <Author uid="xu42"/>
|
#### 教务处新闻 <Author uid="xu42"/>
|
||||||
|
|
||||||
举例: [https://rsshub.app/dpu/jiaowu/xwdt](https://rsshub.app/dpu/jiaowu/xwdt)
|
举例: [https://rsshub.app/dpu/jiaowu/news/2](https://rsshub.app/dpu/jiaowu/news/2)
|
||||||
|
|
||||||
路由: `/dpu/jiaowu/:type?`
|
路由: `/dpu/jiaowu/news/:type?`
|
||||||
|
|
||||||
参数:
|
参数:
|
||||||
|
|
||||||
- type, 可选, 默认为 `xwdt`
|
- type, 可选, 默认为 `2`
|
||||||
|
|
||||||
| 新闻动态 | 通知公告 | 教务文件 |
|
| 新闻动态 | 通知公告 | 教务文件 |
|
||||||
| -------- | -------- | -------- |
|
| -------- | -------- | -------- |
|
||||||
| xwdt | tzgg | jwwj |
|
| 2 | 3 | 4 |
|
||||||
|
|
||||||
|
#### 网络服务新闻 <Author uid="xu42"/>
|
||||||
|
|
||||||
|
举例: [https://rsshub.app/dpu/wlfw/news/2](https://rsshub.app/dpu/wlfw/news/2)
|
||||||
|
|
||||||
|
路由: `/dpu/wlfw/news/:type?`
|
||||||
|
|
||||||
|
参数: type, 可选, 默认为 `1`
|
||||||
|
|
||||||
|
| 新闻动态 | 通知公告 |
|
||||||
|
| -------- | -------- |
|
||||||
|
| 1 | 2 |
|
||||||
|
|
||||||
### 东南大学
|
### 东南大学
|
||||||
|
|
||||||
|
|||||||
@@ -471,8 +471,9 @@ router.get('/gitlab/explore/:type', require('./routes/gitlab/explore'));
|
|||||||
// 忧郁的弟弟
|
// 忧郁的弟弟
|
||||||
router.get('/mygalgame', require('./routes/galgame/mygalgame'));
|
router.get('/mygalgame', require('./routes/galgame/mygalgame'));
|
||||||
|
|
||||||
// DPU
|
// 大连工业大学
|
||||||
router.get('/dpu/jiaowu/:type?', require('./routes/dpu/jiaowu'));
|
router.get('/dpu/jiaowu/news/:type?', require('./routes/dpu/jiaowu/news'));
|
||||||
|
router.get('/dpu/wlfw/news/:type?', require('./routes/dpu/wlfw/news'));
|
||||||
|
|
||||||
// 东南大学
|
// 东南大学
|
||||||
router.get('/seu/radio/academic', require('./routes/seu/radio/academic'));
|
router.get('/seu/radio/academic', require('./routes/seu/radio/academic'));
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
const axios = require('../../utils/axios');
|
const axios = require('../../../utils/axios');
|
||||||
const iconv = require('iconv-lite');
|
const iconv = require('iconv-lite');
|
||||||
const cheerio = require('cheerio');
|
const cheerio = require('cheerio');
|
||||||
const resolve_url = require('url').resolve;
|
const resolve_url = require('url').resolve;
|
||||||
@@ -6,13 +6,13 @@ const resolve_url = require('url').resolve;
|
|||||||
const base_url = 'http://jiaowu.dlpu.edu.cn';
|
const base_url = 'http://jiaowu.dlpu.edu.cn';
|
||||||
|
|
||||||
const map = {
|
const map = {
|
||||||
xwdt: '/more/2',
|
2: '/more/2',
|
||||||
tzgg: '/more/3',
|
3: '/more/3',
|
||||||
jwwj: '/more/4',
|
4: '/more/4',
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports = async (ctx) => {
|
module.exports = async (ctx) => {
|
||||||
const type = ctx.params.type || 'xwdt';
|
const type = ctx.params.type || '2';
|
||||||
const link = `${base_url}${map[type]}`;
|
const link = `${base_url}${map[type]}`;
|
||||||
|
|
||||||
const response = await axios({
|
const response = await axios({
|
||||||
43
routes/dpu/wlfw/news.js
Normal file
43
routes/dpu/wlfw/news.js
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
const axios = require('../../../utils/axios');
|
||||||
|
const iconv = require('iconv-lite');
|
||||||
|
const cheerio = require('cheerio');
|
||||||
|
const resolve_url = require('url').resolve;
|
||||||
|
|
||||||
|
const base_url = 'http://wlfw.dlpu.edu.cn';
|
||||||
|
|
||||||
|
const map = {
|
||||||
|
1: '/more/1',
|
||||||
|
2: '/more/2',
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = async (ctx) => {
|
||||||
|
const type = ctx.params.type || '1';
|
||||||
|
const link = `${base_url}${map[type]}`;
|
||||||
|
|
||||||
|
const response = await axios({
|
||||||
|
method: 'get',
|
||||||
|
url: link,
|
||||||
|
responseType: 'arraybuffer',
|
||||||
|
headers: {
|
||||||
|
Referer: base_url,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
const $ = cheerio.load(iconv.decode(response.data, 'gb2312'));
|
||||||
|
|
||||||
|
ctx.state.data = {
|
||||||
|
link: link,
|
||||||
|
title: $('#more>h1').text(),
|
||||||
|
item: $('.more_list>li')
|
||||||
|
.map((_, elem) => ({
|
||||||
|
link: resolve_url(base_url, $('a', elem).attr('href')),
|
||||||
|
title: $('a', elem).text(),
|
||||||
|
pubDate: new Date(
|
||||||
|
$('a>span', elem)
|
||||||
|
.text()
|
||||||
|
.replace(/.(\d+)年(\d+)月(\d+)日./, '$1-$2-$3')
|
||||||
|
).toUTCString(),
|
||||||
|
}))
|
||||||
|
.get(),
|
||||||
|
};
|
||||||
|
};
|
||||||
Reference in New Issue
Block a user