UNPKG

rsshub

Version:
50 lines (48 loc) 1.51 kB
import "./esm-shims-CzJ_djXG.mjs"; import "./config-C37vj7VH.mjs"; import "./dist-BInvbO1W.mjs"; import "./logger-Czu8UMNd.mjs"; import "./ofetch-BIyrKU3Y.mjs"; import "./parse-date-BrP7mxXf.mjs"; import { t as cache_default } from "./cache-Bo__VnGm.mjs"; import "./helpers-DxBp0Pty.mjs"; import { t as got_default } from "./got-KxxWdaxq.mjs"; import { n as SUB_URL, r as article_default, t as SUB_NAME_PREFIX } from "./const-DdYom9em.mjs"; import { load } from "cheerio"; //#region lib/routes/8kcos/tag.ts const route = { path: "/tag/:tag", categories: ["picture"], example: "/8kcos/tag/cosplay", parameters: { tag: "标签名" }, features: { requireConfig: false, requirePuppeteer: false, antiCrawler: false, supportBT: false, supportPodcast: false, supportScihub: false, nsfw: true }, radar: [{ source: ["8kcosplay.com/tag/:tag"] }], name: "标签", maintainers: ["KotoriK"], handler, url: "8kcosplay.com/" }; async function handler(ctx) { const limit = Number.parseInt(ctx.req.query("limit")); const url = `${SUB_URL}tag/${ctx.req.param("tag")}/`; const $ = load((await got_default(url)).body); const itemRaw = $("li.item").toArray(); return { title: `${SUB_NAME_PREFIX}-${$("span[property=name]:not(.hide)").text()}`, link: url, item: await Promise.all((limit ? itemRaw.slice(0, limit) : itemRaw).map((e) => { const { href } = load(e)("h2 > a")[0].attribs; return cache_default.tryGet(href, () => article_default(href)); })) }; } //#endregion export { route };