UNPKG

rsshub

Version:
34 lines (33 loc) 1.17 kB
import { t as rofetch } from "./ofetch-U0CdpE2g.mjs"; import { t as PRESETS } from "./header-generator-DACPoxdp.mjs"; import { n as parseItem, r as parseList, t as baseUrl } from "./utils-uzD32nKO.mjs"; import { load } from "cheerio"; import pMap from "p-map"; //#region lib/routes/byteclicks/tag.ts const route = { path: "/tag/:tag", categories: ["new-media"], example: "/byteclicks/tag/人工智能", parameters: { tag: "标签,可在URL中找到" }, radar: [{ source: ["byteclicks.com/tag/:tag"] }], name: "标签", maintainers: ["TonyRL"], handler, url: "byteclicks.com/" }; async function handler(ctx) { const tag = ctx.req.param("tag"); const link = `${baseUrl}/tag/${tag}`; const response = await rofetch(link, { headerGeneratorOptions: PRESETS.MODERN_WINDOWS_CHROME }); const $ = load(response); const list = parseList($).slice(0, ctx.req.query("limit") ? Number(ctx.req.query("limit")) : void 0); const items = await pMap(list, (item) => parseItem(item), { concurrency: 5 }); return { title: $("head title").text(), image: $("head link[rel=\"shortcut icon\"]").attr("href"), link, item: items }; } //#endregion export { route };