UNPKG

rsshub

Version:
51 lines (49 loc) 1.65 kB
import "./dist-Bog6z_OM.mjs"; import "./config-MQ-7ebJ_.mjs"; import "./logger-C4avouvV.mjs"; import "./ofetch-DKl_Ma9g.mjs"; import "./parse-date-r5WDWHno.mjs"; import "./is-worker-DESPicPc.mjs"; import "./cache-SV6W5EPy.mjs"; import "./helpers-Bo4JQYdN.mjs"; import { t as got_default } from "./got-CO-ndVl2.mjs"; import "./timezone-CA9Huotp.mjs"; import { n as rootUrl, t as renderPostDetail } from "./util-DqM6d5B7.mjs"; import { load } from "cheerio"; //#region lib/routes/taoguba/index.ts const route = { path: "/:category?", categories: ["finance"], example: "/taoguba", parameters: { id: "分类,见下表,默认为社区总版" }, name: "淘股论坛", maintainers: ["nczitzk"], handler, description: `| 淘股论坛 | 社区总版 | 精华加油 | 网友点赞 | | -------- | -------- | -------- | -------- | | bbs | zongban | jinghua | dianzan |` }; async function handler(ctx) { const currentUrl = `${rootUrl}/${ctx.req.param("category") ?? "zongban"}/`; const $ = load((await got_default({ method: "get", url: currentUrl })).data); let items = $(".Nbbs-tiezi-lists").slice(0, ctx.req.query("limit") ? Number.parseInt(ctx.req.query("limit")) : 70).toArray().map((item) => { item = $(item); const a = item.find(".middle-list-tittle a"); return { title: a.text().trim(), link: `${rootUrl}/${a.attr("href")}`, author: item.find(".middle-list-user a").text().trim() }; }); items = await Promise.all(items.map(async (item) => await renderPostDetail(item))); return { title: $("head title").text().trim().split("_")[0], link: currentUrl, item: items }; } //#endregion export { route };