UNPKG

rsshub

Version:
42 lines (40 loc) 1.35 kB
import "./esm-shims-CzJ_djXG.mjs"; import "./config-C37vj7VH.mjs"; import "./dist-BInvbO1W.mjs"; import "./logger-Czu8UMNd.mjs"; import { t as ofetch_default } from "./ofetch-BIyrKU3Y.mjs"; import "./parse-date-BrP7mxXf.mjs"; import "./cache-Bo__VnGm.mjs"; import "./timezone-D8cuwzTY.mjs"; import { t as fetchArticle } from "./utils-VUOg2IcK.mjs"; import { load } from "cheerio"; import pMap from "p-map"; //#region lib/routes/bjnews/cat.ts const route = { path: "/cat/:cat", categories: ["traditional-media"], example: "/bjnews/cat/depth", parameters: { cat: "分类, 可从URL中找到" }, features: {}, radar: [{ source: ["www.bjnews.com.cn/:cat"] }], name: "分类", maintainers: ["dzx-dzx"], handler, url: "www.bjnews.com.cn" }; async function handler(ctx) { const url = `https://www.bjnews.com.cn/${ctx.req.param("cat")}`; const $ = load(await ofetch_default(url)); const out = await pMap($("#waterfall-container .pin_demo > a").toArray().slice(0, ctx.req.query("limit") ? Number.parseInt(ctx.req.query("limit")) : 15).map((a) => ({ title: $(a).text(), link: $(a).attr("href"), category: $(a).parent().find(".source").text().trim() })), (item) => fetchArticle(item), { concurrency: 2 }); return { title: `新京报 - 分类 - ${$(".cur").text().trim()}`, link: url, item: out }; } //#endregion export { route };