mirror of
https://github.com/DIYgod/RSSHub.git
synced 2025-12-11 07:40:26 +08:00
feat: add bilibili manga (#4933)
This commit is contained in:
@@ -43,6 +43,14 @@
|
|||||||
target: '/bilibili/user/video/:uid',
|
target: '/bilibili/user/video/:uid',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
manga: [
|
||||||
|
{
|
||||||
|
title: '漫画更新',
|
||||||
|
docs: 'https://docs.rsshub.app/social-media.html#bilibili-man-hua-geng-xin',
|
||||||
|
source: '/detail/:comicid',
|
||||||
|
target: '/bilibili/manga/update/:comicid',
|
||||||
|
},
|
||||||
|
],
|
||||||
},
|
},
|
||||||
'weibo.com': {
|
'weibo.com': {
|
||||||
_name: '微博',
|
_name: '微博',
|
||||||
|
|||||||
@@ -258,6 +258,10 @@ Tiny Tiny RSS 会给所有 iframe 元素添加 `sandbox="allow-scripts"` 属性
|
|||||||
|
|
||||||
<Route author="ttttmr" example="/bilibili/weekly" path="/bilibili/weekly/:disableEmbed?" :paramsDesc="['默认为开启内嵌视频, 任意值为关闭']"/>
|
<Route author="ttttmr" example="/bilibili/weekly" path="/bilibili/weekly/:disableEmbed?" :paramsDesc="['默认为开启内嵌视频, 任意值为关闭']"/>
|
||||||
|
|
||||||
|
### 漫画更新
|
||||||
|
|
||||||
|
<Route author="hoilc" example="/bilibili/manga/update/26009" path="/bilibili/manga/update/:comicid" :paramsDesc="['漫画 id, 可在 URL 中找到, 支持带有`mc`前缀']"/>
|
||||||
|
|
||||||
## Disqus
|
## Disqus
|
||||||
|
|
||||||
### 评论
|
### 评论
|
||||||
|
|||||||
@@ -75,6 +75,7 @@ router.get('/bilibili/followings/video/:uid/:disableEmbed?', require('./routes/b
|
|||||||
router.get('/bilibili/followings/article/:uid', require('./routes/bilibili/followings_article'));
|
router.get('/bilibili/followings/article/:uid', require('./routes/bilibili/followings_article'));
|
||||||
router.get('/bilibili/readlist/:listid', require('./routes/bilibili/readlist'));
|
router.get('/bilibili/readlist/:listid', require('./routes/bilibili/readlist'));
|
||||||
router.get('/bilibili/weekly', require('./routes/bilibili/weekly_recommend'));
|
router.get('/bilibili/weekly', require('./routes/bilibili/weekly_recommend'));
|
||||||
|
router.get('/bilibili/manga/update/:comicid', require('./routes/bilibili/manga_update'));
|
||||||
|
|
||||||
// bangumi
|
// bangumi
|
||||||
router.get('/bangumi/calendar/today', require('./routes/bangumi/calendar/today'));
|
router.get('/bangumi/calendar/today', require('./routes/bangumi/calendar/today'));
|
||||||
|
|||||||
33
lib/routes/bilibili/manga_update.js
Normal file
33
lib/routes/bilibili/manga_update.js
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
const got = require('@/utils/got');
|
||||||
|
|
||||||
|
module.exports = async (ctx) => {
|
||||||
|
const comic_id = ctx.params.comicid.startsWith('mc') ? ctx.params.comicid.replace('mc', '') : ctx.params.comicid;
|
||||||
|
const link = `https://manga.bilibili.com/detail/mc${comic_id}`;
|
||||||
|
|
||||||
|
const response = await got({
|
||||||
|
method: 'POST',
|
||||||
|
url: `https://manga.bilibili.com/twirp/comic.v2.Comic/ComicDetail?device=pc&platform=web`,
|
||||||
|
json: {
|
||||||
|
comic_id: Number(comic_id),
|
||||||
|
},
|
||||||
|
headers: {
|
||||||
|
Referer: link,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
const data = response.data.data;
|
||||||
|
const author = data.author_name.join(', ');
|
||||||
|
|
||||||
|
ctx.state.data = {
|
||||||
|
title: `${data.title} - 哔哩哔哩漫画`,
|
||||||
|
link: link,
|
||||||
|
image: data.vertical_cover,
|
||||||
|
description: data.classic_lines,
|
||||||
|
item: data.ep_list.slice(0, 20).map((item) => ({
|
||||||
|
title: item.short_title === item.title ? item.short_title : `${item.short_title} ${item.title}`,
|
||||||
|
author: author,
|
||||||
|
description: `<img src="${item.cover}">`,
|
||||||
|
pubDate: new Date(item.pub_time + ' +0800'),
|
||||||
|
link: `https://manga.bilibili.com/mc${comic_id}/${item.id}`,
|
||||||
|
})),
|
||||||
|
};
|
||||||
|
};
|
||||||
Reference in New Issue
Block a user