mirror of
https://github.com/DIYgod/RSSHub.git
synced 2025-12-14 17:19:37 +08:00
feat(route): add tid for vsearch of bilibili (#8041)
fix pubdate and clean up desc Co-authored-by: NeverBehave <gayhub@never.pet>
This commit is contained in:
@@ -210,7 +210,15 @@ Tiny Tiny RSS 会给所有 iframe 元素添加 `sandbox="allow-scripts"` 属性
|
||||
|
||||
### 视频搜索
|
||||
|
||||
<Route author="Symty" example="/bilibili/vsearch/藤原千花" path="/bilibili/vsearch/:kw/:order?/:disableEmbed?" :paramsDesc="['检索关键字', '排序方式, 综合:totalrank 最多点击:click 最新发布:pubdate(缺省) 最多弹幕:dm 最多收藏:stow', '默认为开启内嵌视频, 任意值为关闭']"/>
|
||||
<Route author="Symty" example="/bilibili/vsearch/藤原千花" path="/bilibili/vsearch/:kw/:order?/:disableEmbed?/:tid?" :paramsDesc="['检索关键字', '排序方式, 综合:totalrank 最多点击:click 最新发布:pubdate(缺省) 最多弹幕:dm 最多收藏:stow', '默认为开启内嵌视频, 任意值为关闭', '分区 id']">
|
||||
|
||||
分区id的取值请参考下表:
|
||||
|
||||
| 全部分区 | 动画 | 番剧 | 国创 | 音乐 | 舞蹈 | 游戏 | 知识 | 科技 | 运动 | 汽车 | 生活 | 美食 | 动物圈 | 鬼畜 | 时尚 | 资讯 | 娱乐 | 影视 | 纪录片 | 电影 | 电视剧 |
|
||||
| ---- | ---- | ---- | -------- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- |
|
||||
| 0 | 1 | 13 | 167 | 3 | 129 | 4 | 36 | 188 | 234 | 223 | 160 | 211 | 217 | 119 | 155 | 202 | 5 | 181 | 177 | 23 | 11 |
|
||||
|
||||
</Route>
|
||||
|
||||
### 用户关注动态
|
||||
|
||||
|
||||
@@ -92,7 +92,7 @@ router.get('/bilibili/ranking/:rid?/:day?/:arc_type?/:disableEmbed?', lazyloadRo
|
||||
router.get('/bilibili/user/channel/:uid/:cid/:disableEmbed?', lazyloadRouteHandler('./routes/bilibili/userChannel'));
|
||||
router.get('/bilibili/topic/:topic', lazyloadRouteHandler('./routes/bilibili/topic'));
|
||||
router.get('/bilibili/audio/:id', lazyloadRouteHandler('./routes/bilibili/audio'));
|
||||
router.get('/bilibili/vsearch/:kw/:order?/:disableEmbed?', lazyloadRouteHandler('./routes/bilibili/vsearch'));
|
||||
router.get('/bilibili/vsearch/:kw/:order?/:disableEmbed?/:tid?', lazyloadRouteHandler('./routes/bilibili/vsearch'));
|
||||
router.get('/bilibili/followings/dynamic/:uid/:disableEmbed?', lazyloadRouteHandler('./routes/bilibili/followings_dynamic'));
|
||||
router.get('/bilibili/followings/video/:uid/:disableEmbed?', lazyloadRouteHandler('./routes/bilibili/followings_video'));
|
||||
router.get('/bilibili/followings/article/:uid', lazyloadRouteHandler('./routes/bilibili/followings_article'));
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
const got = require('@/utils/got');
|
||||
const { parseDate } = require('@/utils/parse-date');
|
||||
const utils = require('./utils');
|
||||
|
||||
module.exports = async (ctx) => {
|
||||
@@ -6,10 +7,11 @@ module.exports = async (ctx) => {
|
||||
const order = ctx.params.order || 'pubdate';
|
||||
const disableEmbed = ctx.params.disableEmbed;
|
||||
const kw_url = encodeURIComponent(kw);
|
||||
const tids = ctx.params.tid ?? 0;
|
||||
|
||||
const response = await got({
|
||||
method: 'get',
|
||||
url: `https://api.bilibili.com/x/web-interface/search/type?jsonp=jsonp&search_type=video&highlight=1&keyword=${kw_url}&order=${order}&duration=0&single_column=0&tids=0`,
|
||||
url: `https://api.bilibili.com/x/web-interface/search/type?jsonp=jsonp&search_type=video&highlight=1&keyword=${kw_url}&order=${order}&duration=0&single_column=0&tids=${tids}`,
|
||||
headers: {
|
||||
Referer: `https://search.bilibili.com/all?keyword=${kw_url}`,
|
||||
},
|
||||
@@ -28,23 +30,21 @@ module.exports = async (ctx) => {
|
||||
const des = item.description.replace(/\n/g, '<br/>');
|
||||
const img = item.pic.replace(/^\/\//g, 'http://');
|
||||
return {
|
||||
title: `${item.title.replace(/<[/ ]?em[^>]*>/g, '')}`,
|
||||
author: `${item.author}`,
|
||||
category: `${item.typename}`,
|
||||
title: item.title.replace(/<[/ ]?em[^>]*>/g, ''),
|
||||
author: item.author,
|
||||
category: [...item.tag.split(','), item.typename],
|
||||
description:
|
||||
`Length: ${l}<br/>` +
|
||||
`Author: ${item.author} (ID: ${item.mid})<br/>` +
|
||||
`AuthorID: ${item.mid}<br/>` +
|
||||
`Play: ${item.play} Favorite: ${item.favorites}<br/>` +
|
||||
`Danmaku: ${item.video_review} Comment: ${item.review}<br/>` +
|
||||
`Category: ${item.typename}<br/>` +
|
||||
`<br/>${des}<br/>` +
|
||||
`<img src="${img}"><br/>` +
|
||||
`Tag: ${item.tag}<br/>` +
|
||||
`Match By: ${item.hit_columns.join(',')}` +
|
||||
(!disableEmbed ? `<br><br>${utils.iframe(item.aid)}` : ''),
|
||||
pubDate: new Date(item.pubdate * 1000).toUTCString(),
|
||||
guid: `${item.arcurl}`,
|
||||
link: `${item.arcurl}`,
|
||||
pubDate: parseDate(item.pubdate * 1000),
|
||||
guid: item.arcurl,
|
||||
link: item.arcurl,
|
||||
};
|
||||
}),
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user