bilibili: 增加专栏订阅 (#516)

This commit is contained in:
Artin
2018-08-23 14:26:05 +08:00
committed by DIYgod
parent 7c03a1ce78
commit 7ac949bc8a
4 changed files with 40 additions and 0 deletions

View File

@@ -28,6 +28,7 @@ RSSHub 是一个轻量、易于扩展的 RSS 生成器,可以给任何奇奇
- 番剧 - 番剧
- UP 主投稿 - UP 主投稿
- UP 主动态 - UP 主动态
- UP 主专栏
- UP 主频道 - UP 主频道
- UP 主默认收藏夹 - UP 主默认收藏夹
- UP 主非默认收藏夹 - UP 主非默认收藏夹

View File

@@ -380,6 +380,14 @@ type, 可选, 默认为 `all`
参数: uid用户 id可在 UP 主主页中找到 参数: uid用户 id可在 UP 主主页中找到
### UP 主专栏 <Author uid="lengthmin"/>
举例: [https://rsshub.app/bilibili/user/article/334958638](https://rsshub.app/bilibili/user/article/334958638)
路由: `/bilibili/user/article/:uid`
参数: uid用户 id可在 UP 主主页中找到
### UP 主动态 <Author uid="DIYgod"/> ### UP 主动态 <Author uid="DIYgod"/>
举例: [https://rsshub.app/bilibili/user/dynamic/2267573](https://rsshub.app/bilibili/user/dynamic/2267573) 举例: [https://rsshub.app/bilibili/user/dynamic/2267573](https://rsshub.app/bilibili/user/dynamic/2267573)

View File

@@ -87,6 +87,7 @@ router.get('/rsshub/rss', require('./routes/rsshub/rss'));
// bilibili // bilibili
router.get('/bilibili/user/video/:uid', require('./routes/bilibili/video')); router.get('/bilibili/user/video/:uid', require('./routes/bilibili/video'));
router.get('/bilibili/user/article/:uid', require('./routes/bilibili/article'));
router.get('/bilibili/user/fav/:uid', require('./routes/bilibili/userFav')); router.get('/bilibili/user/fav/:uid', require('./routes/bilibili/userFav'));
router.get('/bilibili/user/coin/:uid', require('./routes/bilibili/coin')); router.get('/bilibili/user/coin/:uid', require('./routes/bilibili/coin'));
router.get('/bilibili/user/dynamic/:uid', require('./routes/bilibili/dynamic')); router.get('/bilibili/user/dynamic/:uid', require('./routes/bilibili/dynamic'));

View File

@@ -0,0 +1,30 @@
const axios = require('../../utils/axios');
const cache = require('./cache');
module.exports = async (ctx) => {
const uid = ctx.params.uid;
const name = await cache.getUsernameFromUID(ctx, uid);
const response = await axios({
method: 'get',
url: `https://api.bilibili.com/x/space/article?mid=${uid}&pn=1&ps=10&sort=publish_time&jsonp=jsonp`,
headers: {
Referer: `https://space.bilibili.com/${uid}/`,
},
});
const data = response.data.data;
ctx.state.data = {
title: `${name} 的 bilibili 专栏`,
link: `https://space.bilibili.com/${uid}/#/article`,
description: `${name} 的 bilibili 专栏`,
item:
data.articles &&
data.articles.map((item) => ({
title: item.title,
description: `${item.summary}<br><img referrerpolicy="no-referrer" src="${item.image_urls[0]}">`,
pubDate: new Date(item.publish_time * 1000).toUTCString(),
link: `https://www.bilibili.com/read/cv${item.id}`,
})),
};
};