commit
65376a0a1c
|
|
@ -16,6 +16,8 @@ RSSHub 是一个轻量、易于扩展的 RSS 生成器,可以给任何奇奇
|
|||
- UP 主动态
|
||||
- UP 主收藏夹
|
||||
- UP 主投币视频
|
||||
- UP 主粉丝
|
||||
- UP 主关注用户
|
||||
- 分区视频
|
||||
- 微博
|
||||
- 博主
|
||||
|
|
|
|||
|
|
@ -50,6 +50,22 @@ RSSHub 是一个轻量、易于扩展的 RSS 生成器,可以给任何奇奇
|
|||
|
||||
参数: uid,用户 id,可在 UP 主主页中找到
|
||||
|
||||
### UP 主粉丝
|
||||
|
||||
举例: https://rss.now.sh/bilibili/user/followers/2267573
|
||||
|
||||
路由: `/bilibili/user/followers/:uid`
|
||||
|
||||
参数: uid,用户 id,可在 UP 主主页中找到
|
||||
|
||||
### UP 主关注用户
|
||||
|
||||
举例: https://rss.now.sh/bilibili/user/followings/2267573
|
||||
|
||||
路由: `/bilibili/user/followings/:uid`
|
||||
|
||||
参数: uid,用户 id,可在 UP 主主页中找到
|
||||
|
||||
### 分区视频
|
||||
|
||||
举例: [https://rss.now.sh/bilibili/partion/33](https://rss.now.sh/bilibili/partion/33)
|
||||
|
|
|
|||
|
|
@ -15,6 +15,8 @@ router.get('/bilibili/user/video/:uid', require('./routes/bilibili/video'));
|
|||
router.get('/bilibili/user/fav/:uid', require('./routes/bilibili/fav'));
|
||||
router.get('/bilibili/user/coin/:uid', require('./routes/bilibili/coin'));
|
||||
router.get('/bilibili/user/dynamic/:uid', require('./routes/bilibili/dynamic'));
|
||||
router.get('/bilibili/user/followers/:uid', require('./routes/bilibili/followers'));
|
||||
router.get('/bilibili/user/followings/:uid', require('./routes/bilibili/followings'));
|
||||
router.get('/bilibili/partion/:tid', require('./routes/bilibili/partion'));
|
||||
router.get('/bilibili/bangumi/:seasonid', require('./routes/bilibili/bangumi'));
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,56 @@
|
|||
const axios = require('axios');
|
||||
const qs = require('querystring');
|
||||
const art = require('art-template');
|
||||
const path = require('path');
|
||||
const config = require('../../config');
|
||||
|
||||
module.exports = async (ctx) => {
|
||||
const uid = ctx.params.uid;
|
||||
|
||||
const nameResponse = await axios({
|
||||
method: 'post',
|
||||
url: 'https://space.bilibili.com/ajax/member/GetInfo',
|
||||
headers: {
|
||||
'User-Agent': config.ua,
|
||||
'Referer': `https://space.bilibili.com/${uid}/`,
|
||||
'Content-Type': 'application/x-www-form-urlencoded',
|
||||
},
|
||||
data: qs.stringify({
|
||||
mid: uid
|
||||
}),
|
||||
});
|
||||
const name = nameResponse.data.data.name;
|
||||
|
||||
const countResponse = await axios({
|
||||
method: 'get',
|
||||
url: `https://api.bilibili.com/x/relation/stat?vmid=${uid}`,
|
||||
headers: {
|
||||
'User-Agent': config.ua,
|
||||
'Referer': `https://space.bilibili.com/${uid}/`,
|
||||
}
|
||||
});
|
||||
const count = countResponse.data.data.follower;
|
||||
|
||||
const response = await axios({
|
||||
method: 'get',
|
||||
url: `https://api.bilibili.com/x/relation/followers?vmid=${uid}`,
|
||||
headers: {
|
||||
'User-Agent': config.ua,
|
||||
'Referer': `https://space.bilibili.com/${uid}/`,
|
||||
}
|
||||
});
|
||||
const data = response.data.data.list;
|
||||
|
||||
ctx.body = art(path.resolve(__dirname, '../../views/rss.art'), {
|
||||
title: `${name} 的 bilibili 粉丝`,
|
||||
link: `https://space.bilibili.com/${uid}/#/fans/fans`,
|
||||
description: `${name} 的 bilibili 粉丝`,
|
||||
lastBuildDate: new Date().toUTCString(),
|
||||
item: data.map((item) => ({
|
||||
title: `${name} 新粉丝 ${item.uname}`,
|
||||
description: `${item.uname}<br>${item.sign}<br>总计${count}`,
|
||||
pubDate: new Date(item.mtime * 1000).toUTCString(),
|
||||
link: `https://space.bilibili.com/${item.mid}`
|
||||
})),
|
||||
});
|
||||
};
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
const axios = require('axios');
|
||||
const qs = require('querystring');
|
||||
const art = require('art-template');
|
||||
const path = require('path');
|
||||
const config = require('../../config');
|
||||
|
||||
module.exports = async (ctx) => {
|
||||
const uid = ctx.params.uid;
|
||||
|
||||
const nameResponse = await axios({
|
||||
method: 'post',
|
||||
url: 'https://space.bilibili.com/ajax/member/GetInfo',
|
||||
headers: {
|
||||
'User-Agent': config.ua,
|
||||
'Referer': `https://space.bilibili.com/${uid}/`,
|
||||
'Content-Type': 'application/x-www-form-urlencoded',
|
||||
},
|
||||
data: qs.stringify({
|
||||
mid: uid
|
||||
}),
|
||||
});
|
||||
const name = nameResponse.data.data.name;
|
||||
|
||||
const countResponse = await axios({
|
||||
method: 'get',
|
||||
url: `https://api.bilibili.com/x/relation/stat?vmid=${uid}`,
|
||||
headers: {
|
||||
'User-Agent': config.ua,
|
||||
'Referer': `https://space.bilibili.com/${uid}/`,
|
||||
}
|
||||
});
|
||||
const count = countResponse.data.data.following;
|
||||
|
||||
const response = await axios({
|
||||
method: 'get',
|
||||
url: `https://api.bilibili.com/x/relation/followings?vmid=${uid}`,
|
||||
headers: {
|
||||
'User-Agent': config.ua,
|
||||
'Referer': `https://space.bilibili.com/${uid}/`,
|
||||
}
|
||||
});
|
||||
const data = response.data.data.list;
|
||||
|
||||
ctx.body = art(path.resolve(__dirname, '../../views/rss.art'), {
|
||||
title: `${name} 的 bilibili 关注`,
|
||||
link: `https://space.bilibili.com/${uid}/#/fans/follow`,
|
||||
description: `${name} 的 bilibili 关注`,
|
||||
lastBuildDate: new Date().toUTCString(),
|
||||
item: data.map((item) => ({
|
||||
title: `${name} 新关注 ${item.uname}`,
|
||||
description: `${item.uname}<br>${item.sign}<br>总计${count}`,
|
||||
pubDate: new Date(item.mtime * 1000).toUTCString(),
|
||||
link: `https://space.bilibili.com/${item.mid}`
|
||||
})),
|
||||
});
|
||||
};
|
||||
Loading…
Reference in New Issue