mirror of
https://github.com/DIYgod/RSSHub.git
synced 2026-09-24 23:12:34 +08:00
fix: bilibili bangumi, close #3374
This commit is contained in:
@@ -1,36 +1,31 @@
|
||||
const got = require('@/utils/got');
|
||||
|
||||
module.exports = async (ctx) => {
|
||||
const seasonid = ctx.params.seasonid;
|
||||
let seasonid = ctx.params.seasonid;
|
||||
const mediaid = ctx.params.mediaid;
|
||||
|
||||
let data;
|
||||
let mediaData;
|
||||
if (mediaid) {
|
||||
const response = await got({
|
||||
method: 'get',
|
||||
url: `https://www.bilibili.com/bangumi/media/md${mediaid}`,
|
||||
});
|
||||
data = JSON.parse(response.data.match(/window\.__INITIAL_STATE__=([\s\S]+);\(function\(\)/)[1]) || {};
|
||||
} else if (seasonid) {
|
||||
const response = await got({
|
||||
method: 'get',
|
||||
url: `https://bangumi.bilibili.com/anime/${seasonid}`,
|
||||
});
|
||||
data = JSON.parse(response.data.match(/window\.__INITIAL_STATE__=([\s\S]+);\(function\(\)/)[1]) || {};
|
||||
mediaData = JSON.parse(response.data.match(/window\.__INITIAL_STATE__=([\s\S]+);\(function\(\)/)[1]) || {};
|
||||
seasonid = mediaData.mediaInfo.season_id;
|
||||
}
|
||||
const { data } = await got.get(`https://api.bilibili.com/pgc/web/season/section?season_id=${seasonid}`);
|
||||
|
||||
ctx.state.data = {
|
||||
title: data.mediaInfo.chn_name,
|
||||
link: `https://www.bilibili.com/bangumi/media/md${data.mediaInfo.media_id}/`,
|
||||
image: data.mediaInfo.cover,
|
||||
description: data.mediaInfo.evaluate,
|
||||
title: mediaData.mediaInfo.chn_name,
|
||||
link: `https://www.bilibili.com/bangumi/media/md${mediaData.mediaInfo.media_id}/`,
|
||||
image: mediaData.mediaInfo.cover,
|
||||
description: mediaData.mediaInfo.evaluate,
|
||||
item:
|
||||
data.mediaInfo.episodes &&
|
||||
data.mediaInfo.episodes.reverse().map((item) => ({
|
||||
title: `第${item.index}话 ${item.index_title}`,
|
||||
description: `更新时间:${item.pub_real_time} <img src="${item.cover}@320w_200h">`,
|
||||
pubDate: new Date(item.pub_real_time).toUTCString(),
|
||||
link: `https://www.bilibili.com/bangumi/play/ep${item.ep_id}`,
|
||||
data.result.main_section.episodes &&
|
||||
data.result.main_section.episodes.map((item, index) => ({
|
||||
title: `第${index + 1}话 ${item.long_title}`,
|
||||
description: `<img src="${item.cover}">`,
|
||||
link: `https://www.bilibili.com/bangumi/play/ep${item.id}`,
|
||||
})),
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user