UNPKG

rsshub

Version:
91 lines (90 loc) 3.13 kB
import { t as rofetch } from "./ofetch-C3ts-Hud.mjs"; import { t as parseDate } from "./parse-date-Cr0wQjV_.mjs"; import { t as cache_default } from "./cache-BkqOokyU.mjs"; import { load } from "cheerio"; import markdownit from "markdown-it"; //#region lib/routes/lianxh/index.ts const md = markdownit({ html: true, breaks: true }); const route = { path: "/:category?", example: "/lianxh", parameters: { category: "分类 id,可在对应分类页 URL 中找到,默认为 `all`,即全部" }, radar: [{ source: ["www.lianxh.cn/blogs/all.html", "www.lianxh.cn/"] }], name: "精彩资讯", maintainers: ["nczitzk"], handler, url: "www.lianxh.cn/", description: `| 分类 | id | | -------------------- | --- | | 全部 | all | | Stata 入门 | 16 | | Stata 教程 | 17 | | 计量专题 | 18 | | 内生性 - 因果推断 | 19 | | 面板数据 | 20 | | 交乘项 - 调节 - 中介 | 21 | | 结果输出 | 22 | | 工具软件 | 23 | | Stata 绘图 | 24 | | 数据处理 | 25 | | Stata 程序 | 26 | | Probit-Logit | 27 | | 时间序列 | 28 | | 空间计量 - 网络分析 | 29 | | Markdown-LaTeX | 30 | | 论文写作 | 31 | | 回归分析 | 32 | | 其它 | 33 | | 数据分享 | 34 | | Stata 资源 | 35 | | 文本分析 - 爬虫 | 36 | | Python-R-Matlab | 37 | | IV-GMM | 38 | | 倍分法 DID | 39 | | 断点回归 RDD | 40 | | PSM-Matching | 41 | | 合成控制法 | 42 | | Stata 命令 | 43 | | 专题课程 | 44 | | 风险管理 | 45 | | 生存分析 | 46 | | 机器学习 | 47 | | 分位数回归 | 48 | | SFA-DEA - 效率分析 | 49 | | 答疑 - 板书 | 50 | | 论文重现 | 51 | | 最新课程 | 52 | | 公开课 | 53 |` }; async function handler(ctx) { const { category = "all" } = ctx.req.param(); const rootUrl = "https://www.lianxh.cn"; const currentUrl = `${rootUrl}/blogs/${category}.html`; const $ = load(await rofetch(currentUrl)); const list = $(".card-body > a").slice(0, ctx.req.query("limit") ? Number(ctx.req.query("limit")) : 30).toArray().map((item) => { const $item = $(item); const href = $item.attr("href"); return { title: $item.find("h5").text().trim(), link: rootUrl + href, id: href?.split("/").pop()?.split(".", 1)[0] }; }); const items = await Promise.all(list.map((item) => cache_default.tryGet(item.link, async () => { const { data: response } = await rofetch(`${rootUrl}/web-api/article`, { query: { id: item.id } }); item.description = md.render(response.details); item.pubDate = parseDate(response.release_time, "YYYY-MM-DD"); item.author = response.author; return item; }))); return { title: `连享会 - ${$(".card-title").text()}`, link: currentUrl, item: items }; } //#endregion export { route };