diff --git a/lib/v2/bangumi/maintainer.js b/lib/v2/bangumi/maintainer.js index ecd753921..358ddfaec 100644 --- a/lib/v2/bangumi/maintainer.js +++ b/lib/v2/bangumi/maintainer.js @@ -16,4 +16,5 @@ module.exports = { '/tv/subject/:id/:type?/:showOriginalName?': ['JimenezLi'], '/tv/topic/:id': ['ylc395'], '/tv/user/blog/:id': ['nczitzk'], + '/tv/user/wish/:id': ['honue'], }; diff --git a/lib/v2/bangumi/radar.js b/lib/v2/bangumi/radar.js index a78bc0224..47b046a98 100644 --- a/lib/v2/bangumi/radar.js +++ b/lib/v2/bangumi/radar.js @@ -61,6 +61,12 @@ const bangumiTV = { source: '/anime', target: '/bangumi/tv/followrank', }, + { + title: '用户想看', + docs: 'https://docs.rsshub.app/routes/anime#bangumi-fan-zu-ji-hua', + source: '/anime/list/:id/wish', + target: '/bangumi/tv/user/wish/:id', + }, ], }; diff --git a/lib/v2/bangumi/router.js b/lib/v2/bangumi/router.js index 41bed50eb..b3f9febce 100644 --- a/lib/v2/bangumi/router.js +++ b/lib/v2/bangumi/router.js @@ -11,4 +11,5 @@ module.exports = function (router) { router.get('/tv/subject/:id/:type?/:showOriginalName?', require('./tv/subject')); router.get('/tv/topic/:id', require('./tv/group/reply')); router.get('/tv/user/blog/:id', require('./tv/user/blog')); + router.get('/tv/user/wish/:id', require('./tv/user/wish')); }; diff --git a/lib/v2/bangumi/tv/user/wish.js b/lib/v2/bangumi/tv/user/wish.js new file mode 100644 index 000000000..f89288ded --- /dev/null +++ b/lib/v2/bangumi/tv/user/wish.js @@ -0,0 +1,38 @@ +const got = require('@/utils/got'); +const cheerio = require('cheerio'); +const timezone = require('@/utils/timezone'); +const { parseDate } = require('@/utils/parse-date'); +const config = require('@/config').value; +module.exports = async (ctx) => { + const userid = ctx.params.id; + const url = `https://bgm.tv/anime/list/${userid}/wish`; + const response = await got({ + url, + method: 'get', + headers: { + 'User-Agent': config.trueUA, + }, + }); + const $ = cheerio.load(response.body); + + const username = $('.name').find('a').html(); + const items = $('#browserItemList') + .find('li') + .toArray() + .map((item) => { + const aTag = $(item).find('h3').children('a'); + const jdate = $(item).find('.collectInfo').find('span').html(); + return { + title: aTag.html(), + link: 'https://bgm.tv' + aTag.attr('href'), + pubDate: timezone(parseDate(jdate), 0), + }; + }); + + ctx.state.data = { + title: `${username}想看的动画`, + link: url, + item: items, + description: `${username}想看的动画列表`, + }; +}; diff --git a/website/docs/routes/anime.mdx b/website/docs/routes/anime.mdx index 9f8474f7f..b38c840eb 100644 --- a/website/docs/routes/anime.mdx +++ b/website/docs/routes/anime.mdx @@ -203,7 +203,11 @@ For more tags, please go to [Search torrent](https://bangumi.moe/search/index) -### 成员关注动画榜 {#bangumi-fan-zu-ji-hua-cheng-yuan-guan-zhu-dong-hua-bang} +### 用户想看 {#bangumi-fan-zu-ji-hua-yong-hu-xiang-kan} + + + +### 成员关注动画榜 {#bangumi-cheng-yuan-guan-zhu-dong-hua-bang}