rsshub
Version:
Make RSS Great Again!
48 lines (47 loc) • 1.49 kB
JavaScript
import { t as parseDate } from "./parse-date-Cr0wQjV_.mjs";
import { t as got_default } from "./got-BTowW50G.mjs";
import { t as timezone } from "./timezone-BBvDwS_3.mjs";
import { load } from "cheerio";
//#region lib/routes/zhibo8/luxiang.ts
const route = {
path: "/luxiang/:category?",
categories: ["multimedia"],
example: "/zhibo8/luxiang/nba",
parameters: { category: "分类,见下表,默认为 `nba`" },
radar: [{
source: ["zhibo8.cc/:category/luxiang.htm"],
target: "/luxiang/:category"
}],
name: "录像",
description: `| NBA | 足球 |
| --- | ----- |
| nba | zuqiu |`,
maintainers: ["TonyRL"],
handler
};
async function handler(ctx) {
const rootUrl = "https://www.zhibo8.cc";
const { category = "nba" } = ctx.req.param();
const link = `${rootUrl}/${category}/luxiang.htm`;
const $ = load((await got_default(link)).data);
const list = $(".box").toArray().flatMap((item) => {
const $item = $(item);
const dateStr = $item.find("h2").text().split(" ", 1)[0];
return $item.find("a").toArray().map((item) => {
const href = $(item).attr("href");
return {
title: `${item.previousSibling.data.replace(" | ", "")} ${$(item).text()}`,
link: `${rootUrl}${href}`,
pubDate: timezone(parseDate(`${href.replace(`/${category}/`, "").slice(0, 4)} ${dateStr}`, "YYYY M月D日"), 8)
};
});
});
return {
title: $("head title").text(),
link,
image: "https://www.zhibo8.cc/favicon.ico",
item: list
};
}
//#endregion
export { route };