rsshub
Version:
Make RSS Great Again!
114 lines (112 loc) • 3.44 kB
JavaScript
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/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;
}
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()
};
}
}
});
}));
return {
title: `茂名市茂南区人民政府 - ${name}`,
link: `${host}/${id}`,
item: items
};
}
//#endregion
export { route };