UNPKG

rsshub

Version:
116 lines (114 loc) 3.58 kB
import "./dist-Bog6z_OM.mjs"; import "./config-MQ-7ebJ_.mjs"; import "./logger-C4avouvV.mjs"; import "./ofetch-DKl_Ma9g.mjs"; import { t as parseDate } from "./parse-date-r5WDWHno.mjs"; import "./is-worker-DESPicPc.mjs"; import { t as cache_default } from "./cache-SV6W5EPy.mjs"; import "./helpers-Bo4JQYdN.mjs"; import { t as got_default } from "./got-CO-ndVl2.mjs"; import { t as timezone } from "./timezone-CA9Huotp.mjs"; import { load } from "cheerio"; //#region lib/routes/gov/maonan/maonan.ts const host = "http://www.maonan.gov.cn"; const route = { path: "/maonan/:category", categories: ["government"], example: "/gov/maonan/zwgk", parameters: { category: "分类名" }, features: { requireConfig: false, requirePuppeteer: false, antiCrawler: false, supportBT: false, supportPodcast: false, supportScihub: false }, name: "茂名市茂南区人民政府", maintainers: ["ShuiHuo"], handler, description: `| 政务公开 | 政务新闻 | 茂南动态 | 重大会议 | 公告公示 | 招录信息 | 政策解读 | | :------: | :------: | :------: | :------: | :------: | :------: | :------: | | zwgk | zwxw | mndt | zdhy | tzgg | zlxx | zcjd |` }; async function handler(ctx) { let id = ""; let name = ""; switch (ctx.req.param("category")) { case "zwgk": id = "zwgk"; name = "政务公开"; break; case "zwxw": id = "zwxw"; name = "政务新闻"; break; case "mndt": id = "zwxw/mndt"; name = "茂南动态"; break; case "zdhy": id = "zwxw/zdhy"; name = "重大会议"; break; case "tzgg": id = "zwgk/tzgg"; name = "公告公示"; break; case "zlxx": id = "zwgk/zlxx"; name = "招录信息"; break; case "zcjd": id = "zwgk/zcjd"; name = "政策解读"; break; default: throw new Error(`Unknown category: ${ctx.req.param("category")}`); } const dataArray = (await got_default(`${host}/${id}/`)).data; const $ = load(dataArray); const list = $("li.clearfix a[href*=\"www.maonan.gov.cn\"], li.clearfix a[href*=\"mp.weixin.qq.com\"]"); const items = await Promise.all(list.map((i, item) => { item = $(item); const url = new URL(item.attr("href")); const link = url.href; const pubDate = timezone(parseDate($("a[href=\"" + link + "\"] ~ .time").text()), 8); return cache_default.tryGet(link, async () => { const { data: res } = await got_default(link); const content = load(res); switch (url.host) { case "mp.weixin.qq.com": return { title: item.text(), description: content("#js_content").html(), pubDate, link, author: content("#js_name").text() }; case "www.maonan.gov.cn": switch (url.pathname) { case "/zcjdpt": return { title: content("meta[name=\"ArticleTitle\"]").attr("content"), description: content(".wrap").html(), pubDate, link, author: content("meta[name=\"ContentSource\"]").attr("content") === "本网" ? "茂名市茂南区人民政府网" : content("meta[name=\"ContentSource\"]").attr("content") }; default: return { title: content(".newsContainer_title").text(), description: content(".newsContainer_text").html(), pubDate, link, author: content(".author").text().trim() === "本网" ? "茂名市茂南区人民政府网" : content(".author").text().trim() }; } default: throw new Error(`Unknown host: ${url.host}`); } }); })); return { title: `茂名市茂南区人民政府 - ${name}`, link: `${host}/${id}`, item: items }; } //#endregion export { route };