UNPKG

rsshub

Version:
93 lines (91 loc) 3.07 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/ruankao/news.ts const BASE_URL = "https://www.ruankao.org.cn/index/work.html"; const removeFontPresetting = (html = "") => { const $ = load(html); $("[style]").each((_, element) => { const cleanedStyle = ($(element).attr("style") || "").replaceAll(/font-family:[^;]*;?/gi, "").trim(); $(element).attr("style", cleanedStyle || null); }); $("style").each((_, styleElement) => { const cleanedCssText = ($(styleElement).html() || "").replaceAll(/font-family:[^;]*;?/gi, ""); $(styleElement).html(cleanedCssText); }); return $.html(); }; const handler = async () => { const { data: listResponse } = await got_default(BASE_URL); const $ = load(listResponse); const contentLinkList = $("ul[class*=\"newsList\"] > li").toArray().map((element) => { const date = $(element).find("label.time").text().trim().slice(1, -1); const title = $(element).find("a").attr("title"); const link = $(element).find("a").attr("href"); return { date: parseDate(date), title, link }; }); return { title: "计算机职业技术资格考试(软考)动态", description: "计算机职业技术资格考试(软考)消息推送", link: BASE_URL, image: "https://bm.ruankao.org.cn/asset/image/public/logo.png", item: await Promise.all(contentLinkList.map((item) => cache_default.tryGet(item.link, async () => { const CONTENT_SELECTOR = "#contentTxt"; const { data: contentResponse } = await got_default(item.link); const content = removeFontPresetting(load(contentResponse)(CONTENT_SELECTOR).html() || ""); return { title: item.title, pubDate: item.date, link: item.link, description: content, category: ["study"], guid: item.link, id: item.link, image: "https://bm.ruankao.org.cn/asset/image/public/logo.png", content, updated: item.date, language: "zh-CN" }; }))), allowEmpty: true, language: "zh-CN", feedLink: "https://rsshub.app/ruankao/news", id: "https://rsshub.app/ruankao/news" }; }; const route = { path: "/news", name: "软考动态", description: "**注意:** 官方网站限制了国外网络请求,可能需要通过部署在中国大陆内的 RSSHub 实例访问。", maintainers: ["PrinOrange"], handler, categories: ["study"], features: { requireConfig: false, requirePuppeteer: false, antiCrawler: true, supportBT: false, supportPodcast: false, supportScihub: false, supportRadar: true }, radar: [{ title: "计算机职业技术资格考试(软考)动态", source: ["www.ruankao.org.cn/index/work", "www.ruankao.org.cn"], target: `/news` }], example: "/ruankao/news" }; //#endregion export { route };