UNPKG

rsshub

Version:
185 lines (173 loc) 7.02 kB
import "./esm-shims-CzJ_djXG.mjs"; import "./config-C37vj7VH.mjs"; import "./dist-BInvbO1W.mjs"; import "./logger-Czu8UMNd.mjs"; import "./ofetch-BIyrKU3Y.mjs"; import { t as parseDate } from "./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 { load } from "cheerio"; //#region lib/routes/bnu/mba.ts const handler = async (ctx) => { const { category = "xwdt" } = ctx.req.param(); const limit = ctx.req.query("limit") ? Number.parseInt(ctx.req.query("limit"), 10) : 20; const rootUrl = "https://mba.bnu.edu.cn"; const currentUrl = new URL(`${category.replace(/\/$/, "")}/`, rootUrl).href; const { data: response } = await got_default(currentUrl); const $ = load(response); const language = $("html").prop("lang"); let items = $("ul.concrcc li").slice(0, limit).toArray().map((item) => { item = $(item); const a = item.find("a.listlj"); return { title: a.text(), pubDate: parseDate(item.find("div.crq").text()), link: new URL(a.prop("href"), currentUrl).href, language }; }); items = await Promise.all(items.map((item) => cache_default.tryGet(item.link, async () => { const { data: detailResponse } = await got_default(item.link); const $$ = load(detailResponse); const title = $$("div.connewst").text(); const description = $$("div.concrczw").html(); const image$1 = $$("div.concrczw img").first().prop("src"); item.title = title; item.description = description; item.pubDate = parseDate($$("div.connewstis-time").text().split(/:/).pop()); item.content = { html: description, text: $$("div.concrczw").text() }; item.image = image$1; item.banner = image$1; item.language = language; return item; }))); const author = $("title").text(); const image = new URL("images/logo5.png", rootUrl).href; return { title: `${author} - ${$("div.concrchbt").text()}`, link: currentUrl, item: items, allowEmpty: true, image, author, language }; }; const route = { path: "/mba/:category{.+}?", name: "经济与工商管理学院MBA", url: "mba.bnu.edu.cn", maintainers: ["nczitzk"], handler, example: "/bnu/mba/xwdt", parameters: { category: "分类,默认为 xwdt,即新闻聚焦" }, description: `::: tip 若订阅 [新闻聚焦](https://mba.bnu.edu.cn/xwdt/index.html),网址为 \`https://mba.bnu.edu.cn/xwdt/index.html\`。截取 \`https://mba.bnu.edu.cn/\` 到末尾 \`/index.html\` 的部分 \`xwdt\` 作为参数填入,此时路由为 [\`/bnu/mba/xwdt\`](https://rsshub.app/bnu/mba/xwdt)。 ::: #### [主页](https://mba.bnu.edu.cn) | [新闻聚焦](https://mba.bnu.edu.cn/xwdt/index.html) | [通知公告](https://mba.bnu.edu.cn/tzgg/index.html) | [MBA 系列讲座](https://mba.bnu.edu.cn/mbaxljz/index.html) | | -------------------------------------------------- | -------------------------------------------------- | --------------------------------------------------------- | | [xwdt](https://rsshub.app/bnu/mba/xwdt) | [tzgg](https://rsshub.app/bnu/mba/tzgg) | [mbaxljz](https://rsshub.app/bnu/mba/mbaxljz) | #### [招生动态](https://mba.bnu.edu.cn/zsdt/zsjz/index.html) | [下载专区](https://mba.bnu.edu.cn/zsdt/cjwt/index.html) | | ------------------------------------------------------- | | [zsdt/cjwt](https://rsshub.app/bnu/mba/zsdt/cjwt) | #### [国际视野](https://mba.bnu.edu.cn/gjhz/hwjd/index.html) | [海外基地](https://mba.bnu.edu.cn/gjhz/hwjd/index.html) | [学位合作](https://mba.bnu.edu.cn/gjhz/xwhz/index.html) | [长期交换](https://mba.bnu.edu.cn/gjhz/zqjh/index.html) | [短期项目](https://mba.bnu.edu.cn/gjhz/dqxm/index.html) | | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | | [gjhz/hwjd](https://rsshub.app/bnu/mba/gjhz/hwjd) | [gjhz/xwhz](https://rsshub.app/bnu/mba/gjhz/xwhz) | [gjhz/zqjh](https://rsshub.app/bnu/mba/gjhz/zqjh) | [gjhz/dqxm](https://rsshub.app/bnu/mba/gjhz/dqxm) | #### [校园生活](https://mba.bnu.edu.cn/xysh/xszz/index.html) | [学生组织](https://mba.bnu.edu.cn/xysh/xszz/index.html) | | ------------------------------------------------------- | | [xysh/xszz](https://rsshub.app/bnu/mba/xysh/xszz) | #### [职业发展](https://mba.bnu.edu.cn/zyfz/xwds/index.html) | [校外导师](https://mba.bnu.edu.cn/zyfz/xwds/index.html) | [企业实践](https://mba.bnu.edu.cn/zyfz/zycp/index.html) | [就业创业](https://mba.bnu.edu.cn/zyfz/jycy/index.html) | | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | | [zyfz/xwds](https://rsshub.app/bnu/mba/zyfz/xwds) | [zyfz/zycp](https://rsshub.app/bnu/mba/zyfz/zycp) | [zyfz/jycy](https://rsshub.app/bnu/mba/zyfz/jycy) | `, categories: ["university"], features: { requireConfig: false, requirePuppeteer: false, antiCrawler: false, supportRadar: true, supportBT: false, supportPodcast: false, supportScihub: false }, radar: [ { source: ["mba.bnu.edu.cn/:category?"], target: (params) => { const category = params.category; return category ? `/${category.replace(/\/index\.html$/, "")}` : ""; } }, { title: "新闻聚焦", source: ["mba.bnu.edu.cn/xwdt/index.html"], target: "/mba/xwdt" }, { title: "通知公告", source: ["mba.bnu.edu.cn/tzgg/index.html"], target: "/mba/tzgg" }, { title: "MBA系列讲座", source: ["mba.bnu.edu.cn/mbaxljz/index.html"], target: "/mba/mbaxljz" }, { title: "招生动态 - 下载专区", source: ["mba.bnu.edu.cn/zsdt/cjwt/index.html"], target: "/mba/zsdt/cjwt" }, { title: "国际视野 - 海外基地", source: ["mba.bnu.edu.cn/gjhz/hwjd/index.html"], target: "/mba/gjhz/hwjd" }, { title: "国际视野 - 学位合作", source: ["mba.bnu.edu.cn/gjhz/xwhz/index.html"], target: "/mba/gjhz/xwhz" }, { title: "国际视野 - 长期交换", source: ["mba.bnu.edu.cn/gjhz/zqjh/index.html"], target: "/mba/gjhz/zqjh" }, { title: "国际视野 - 短期项目", source: ["mba.bnu.edu.cn/gjhz/dqxm/index.html"], target: "/mba/gjhz/dqxm" }, { title: "校园生活 - 学生组织", source: ["mba.bnu.edu.cn/xysh/xszz/index.html"], target: "/mba/xysh/xszz" }, { title: "职业发展 - 校外导师", source: ["mba.bnu.edu.cn/zyfz/xwds/index.html"], target: "/mba/zyfz/xwds" }, { title: "职业发展 - 企业实践", source: ["mba.bnu.edu.cn/zyfz/zycp/index.html"], target: "/mba/zyfz/zycp" }, { title: "职业发展 - 就业创业", source: ["mba.bnu.edu.cn/zyfz/jycy/index.html"], target: "/mba/zyfz/jycy" } ] }; //#endregion export { handler, route };