mirror of
https://github.com/DIYgod/RSSHub.git
synced 2025-12-15 18:30:53 +08:00
Add 上海交通大学电子信息与电气工程学院 -- 学术动态 (#567)
* Add 上海交通大学电子信息与电气工程学院 -- 学术动态 * Add docs * Fix date * Update docs * Fix img link
This commit is contained in:
@@ -268,6 +268,9 @@ RSSHub 是一个轻量、易于扩展的 RSS 生成器,可以给任何奇奇
|
|||||||
- 文章
|
- 文章
|
||||||
- 大连工业大学
|
- 大连工业大学
|
||||||
- 教务处新闻
|
- 教务处新闻
|
||||||
|
- 上海交通大学
|
||||||
|
- 电子信息与电气工程学院
|
||||||
|
- 学术动态
|
||||||
- 中国科学院
|
- 中国科学院
|
||||||
- 上海微系统与信息技术研究所
|
- 上海微系统与信息技术研究所
|
||||||
- 学术活动
|
- 学术活动
|
||||||
|
|||||||
@@ -2223,6 +2223,14 @@ type,分类
|
|||||||
|
|
||||||
参数: 无
|
参数: 无
|
||||||
|
|
||||||
|
## 上海交通大学
|
||||||
|
|
||||||
|
### 电子信息与电气工程学院 -- 学术动态 <Author uid="HenryQW"/>
|
||||||
|
|
||||||
|
举例: [https://rsshub.app/sjtu/seiee/academic](https://rsshub.app/sjtu/seiee/academic)
|
||||||
|
|
||||||
|
路由: `/sjtu/seiee/academic`
|
||||||
|
|
||||||
## 中国科学院
|
## 中国科学院
|
||||||
|
|
||||||
### 上海微系统与信息技术研究所 -- 学术活动 <Author uid="HenryQW"/>
|
### 上海微系统与信息技术研究所 -- 学术活动 <Author uid="HenryQW"/>
|
||||||
|
|||||||
@@ -473,6 +473,9 @@ router.get('/mygalgame', require('./routes/galgame/mygalgame'));
|
|||||||
// DPU
|
// DPU
|
||||||
router.get('/dpu/jiaowu/:type?', require('./routes/dpu/jiaowu'));
|
router.get('/dpu/jiaowu/:type?', require('./routes/dpu/jiaowu'));
|
||||||
|
|
||||||
|
// 上海交通大学
|
||||||
|
router.get('/sjtu/seiee/academic', require('./routes/sjtu/seiee/academic'));
|
||||||
|
|
||||||
// 中国科学院
|
// 中国科学院
|
||||||
router.get('/cas/sim/academic', require('./routes/cas/sim/academic'));
|
router.get('/cas/sim/academic', require('./routes/cas/sim/academic'));
|
||||||
|
|
||||||
|
|||||||
51
routes/sjtu/seiee/academic.js
Normal file
51
routes/sjtu/seiee/academic.js
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
const axios = require('../../../utils/axios');
|
||||||
|
const cheerio = require('cheerio');
|
||||||
|
const url = require('url');
|
||||||
|
|
||||||
|
const host = 'http://www.seiee.sjtu.edu.cn/';
|
||||||
|
|
||||||
|
module.exports = async (ctx) => {
|
||||||
|
const link = url.resolve(host, 'seiee/list/683-1-20.htm');
|
||||||
|
const response = await axios.get(link);
|
||||||
|
|
||||||
|
const $ = cheerio.load(response.data);
|
||||||
|
|
||||||
|
const list = $('.list_style_1 li a')
|
||||||
|
.map((i, e) => $(e).attr('href'))
|
||||||
|
.get();
|
||||||
|
|
||||||
|
const out = await Promise.all(
|
||||||
|
list.map(async (itemUrl) => {
|
||||||
|
itemUrl = url.resolve(host, itemUrl);
|
||||||
|
const cache = await ctx.cache.get(itemUrl);
|
||||||
|
if (cache) {
|
||||||
|
return Promise.resolve(JSON.parse(cache));
|
||||||
|
}
|
||||||
|
|
||||||
|
const response = await axios.get(itemUrl);
|
||||||
|
const $ = cheerio.load(response.data);
|
||||||
|
|
||||||
|
const single = {
|
||||||
|
title: $('h2.title_3').text(),
|
||||||
|
link: itemUrl,
|
||||||
|
author: '上海交通大学电子信息与电气工程学院',
|
||||||
|
description: $('.c_1.article_content')
|
||||||
|
.html()
|
||||||
|
.replace(/src="\//g, `src="${url.resolve(host, '.')}`),
|
||||||
|
pubDate: new Date(
|
||||||
|
$('.date_1 span:first-of-type')
|
||||||
|
.text()
|
||||||
|
.trim()
|
||||||
|
),
|
||||||
|
};
|
||||||
|
ctx.cache.set(itemUrl, JSON.stringify(single), 24 * 60 * 60);
|
||||||
|
return Promise.resolve(single);
|
||||||
|
})
|
||||||
|
);
|
||||||
|
|
||||||
|
ctx.state.data = {
|
||||||
|
title: '上海交通大学电子信息与电气工程学院 -- 学术动态',
|
||||||
|
link,
|
||||||
|
item: out,
|
||||||
|
};
|
||||||
|
};
|
||||||
Reference in New Issue
Block a user