RSSHub/lib/v2/bilibili/hotSearch.js

30 lines
1.1 KiB
JavaScript

const got = require('@/utils/got');
const cache = require('./cache');
const utils = require('./utils');
module.exports = async (ctx) => {
const wbiVerifyString = await cache.getWbiVerifyString(ctx);
const params = utils.addWbiVerifyInfo('limit=10&platform=web', wbiVerifyString);
const url = `https://api.bilibili.com/x/web-interface/wbi/search/square?${params}`;
const response = await got({
method: 'get',
url,
headers: {
Referer: `https://api.bilibili.com`,
},
});
const trending = response?.data?.data?.trending;
const title = trending?.title;
const list = trending?.list || [];
ctx.state.data = {
title,
link: url,
description: 'bilibili热搜',
item: list.map((item) => ({
title: item.keyword,
description: `${item.keyword}<br>${item.icon ? `<img src="${item.icon}">` : ''}`,
link: item.link || item.goto || `https://search.bilibili.com/all?${new URLSearchParams({ keyword: item.keyword })}&from_source=webtop_search`,
})),
};
};