UNPKG

rsshub

Version:
63 lines (61 loc) 1.99 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 { t as timezone } from "./timezone-D8cuwzTY.mjs"; import { load } from "cheerio"; //#region lib/routes/ecnu/dxb.ts const type = (filename) => filename.split(".").pop(); const route = { path: "/dxb", categories: ["university"], example: "/ecnu/dxb", radar: [{ source: ["dxb.ecnu.edu.cn"], target: "/dxb" }], name: "地球科学学部通知公告", maintainers: [ "FrozenStarrrr", "ChiyoYuki", "ECNU-minus" ], handler: async () => { const baseUrl = "https://dxb.ecnu.edu.cn/"; const $ = load((await got_default(`${baseUrl}18277/list.htm`)).data); const links = $("ul.news_list > li").toArray().map((el) => ({ pubDate: timezone(parseDate($(el).find(".news_meta").text()), 8), link: new URL($(el).find("a").attr("href"), baseUrl).toString(), title: $(el).find("a").text() })); return { title: "地球科学学部通知公告", link: "https://dxb.ecnu.edu.cn/18277/list.htm", item: await Promise.all(links.map((item) => cache_default.tryGet(item.link, async () => { if (type(item.link) === "htm") { const { data } = await got_default(item.link); const $$1 = load(data); const $read = $$1("div.read"); $read.find("img[src], a[href]").each((i, el) => { const $el = $$1(el); const attr = el.tagName === "img" ? "src" : "href"; const val = $el.attr(attr); if (val) $el.attr(attr, new URL(val, baseUrl).toString()); }); item.description = $read.html()?.trim(); return item; } else { item.description = "请到原网页访问"; return item; } }))) }; } }; //#endregion export { route };