Merge pull request #96 from Qixingchen/master

add bilibili link news
This commit is contained in:
DIYgod 2018-05-09 22:12:53 +08:00 committed by GitHub
commit 8912f2d966
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 57 additions and 0 deletions

View File

@ -23,6 +23,7 @@ RSSHub 是一个轻量、易于扩展的 RSS 生成器,可以给任何奇奇
- UP 主关注用户
- 分区视频
- 视频评论
- link 公告
- 微博
- 博主
- 网易云音乐

View File

@ -165,6 +165,14 @@ s
参数: aid可在视频页 URL 中找到
### link 公告
举例: https://rss.now.sh/bilibili/link/news/live
路由: `/bilibili/link/news/:product`
参数: product 公告分类 包括 直播:live 小视频:vc 相簿:wh
## 微博
### 博主

View File

@ -20,6 +20,8 @@ router.get('/bilibili/user/followings/:uid', require('./routes/bilibili/followin
router.get('/bilibili/partion/:tid', require('./routes/bilibili/partion'));
router.get('/bilibili/bangumi/:seasonid', require('./routes/bilibili/bangumi'));
router.get('/bilibili/video/reply/:aid', require('./routes/bilibili/reply'));
router.get('/bilibili/link/news/:product', require('./routes/bilibili/linkNews'));
// // 微博
router.get('/weibo/user/:uid', require('./routes/weibo/user'));

View File

@ -0,0 +1,46 @@
const axios = require('axios');
const art = require('art-template');
const path = require('path');
const config = require('../../config');
module.exports = async (ctx) => {
const product = ctx.params.product;
let productTitle = ``;
switch (product) {
case "live":
productTitle = `直播`;
break;
case "vc":
productTitle = `小视频`;
break;
case "wh":
productTitle = `相簿`;
break;
}
const response = await axios({
method: 'get',
url: `https://api.vc.bilibili.com/news/v1/notice/list?platform=pc&product=${product}&category=all&page_no=1&page_size=20`,
headers: {
'User-Agent': config.ua,
'Referer': `https://link.bilibili.com/p/eden/news`
}
});
const data = response.data.data.items;
ctx.body = art(path.resolve(__dirname, '../../views/rss.art'), {
title: `bilibili ${productTitle}公告`,
link: `https://link.bilibili.com/p/eden/news#/?tab=${product}&tag=all&page_no=1`,
description: `bilibili ${productTitle}公告`,
lastBuildDate: new Date().toUTCString(),
item: data && data.map((item) => ({
title: item.title,
description: `${item.mark}<br><img referrerpolicy="no-referrer" src="${item.cover_url}">`,
pubDate: new Date(item.ctime.replace(' ', 'T') + "+08:00").toUTCString(),
link: item.announce_link ? item.announce_link : `https://link.bilibili.com/p/eden/news#/newsdetail?id=${item.id}`
})),
});
};