UNPKG

rsshub

Version:
153 lines (152 loc) 4.13 kB
import { t as parseDate } from "./parse-date-Cr0wQjV_.mjs"; import { t as cache_default } from "./cache-BkqOokyU.mjs"; import { t as got_default } from "./got-BTowW50G.mjs"; import { t as timezone } from "./timezone-BBvDwS_3.mjs"; import { jsx } from "hono/jsx/jsx-runtime"; import { load } from "cheerio"; import { renderToString } from "hono/jsx/dom/server"; import { raw } from "hono/html"; //#region lib/routes/gov/sichuan/deyang/mztoday.tsx const rootUrl = "http://www.mztoday.gov.cn"; const basicInfoDict = { zx: { name: "最新", url: "/news.html?page=1" }, tj: { name: "推荐", url: "/list/42.html?page=1" }, sz: { name: "时政", url: "/list/39.html?page=1" }, jy: { name: "教育", url: "/list/40.html?page=1" }, ms: { name: "民生", url: "/list/41.html?page=1" }, wl: { name: "文旅", url: "/list/41.html?page=1" }, jj: { name: "经济", url: "/list/53.html?page=1" }, wwcj: { name: "文明创建", url: "/list/54.html?page=1" }, bxsh: { name: "文明创建", url: "/list/55.html?page=1" }, bm: { name: "部门", url: "/list/56.html?page=1" }, zj: { name: "镇(街道)", url: "/list/57.html?page=1" }, jkmz: { name: "健康绵竹", url: "/list/59.html?page=1" }, nxjt: { name: "南轩讲堂", url: "/list/70.html?page=1" }, sp: { name: "视频", url: "/vlist.html?page=1" }, wmsj: { name: "文明实践", url: "/list/71.html?page=1" }, lhzg: { name: "领航中国", url: "/list/74.html?page=1" }, mznh: { name: "绵竹年画", url: "/list/36.html?page=1" }, mzls: { name: "绵竹历史", url: "/list/16.html?page=1" }, mzly: { name: "绵竹旅游", url: "/list/37.html?page=1" }, wwkmz: { name: "外媒看绵竹", url: "/list/50.html?page=1" } }; const getInfoUrlList = async (url) => { const $ = load((await got_default(url)).data); return $("div.sl").toArray().map((item) => ({ title: $("a", item).attr("title"), url: `${rootUrl}${$("a", item).attr("href")}`, pubDate: timezone(parseDate($("div > div:nth-child(4)", item).html().trim()), 8) })); }; const getInfoContent = (item) => cache_default.tryGet(item.url, async () => { const $ = load((await got_default(item.url)).data); return { title: item.title, content: $("td:nth-child(2)").html(), link: item.url, pubDate: item.pubDate }; }); const route = { path: "/deyang/mztoday/:infoType?", categories: ["government"], example: "/gov/sichuan/deyang/mztoday/zx", parameters: { infoType: "信息栏目名称。默认最新(zx)" }, features: { requireConfig: false, requirePuppeteer: false, antiCrawler: false, supportBT: false, supportPodcast: false, supportScihub: false }, radar: [{ source: ["www.mztoday.gov.cn/*"], target: "/deyang/mztoday" }], name: "今日绵竹", maintainers: ["zytomorrow"], handler, url: "www.mztoday.gov.cn/*", description: `| 最新 | 推荐 | 时政 | 教育 | 民生 | 文旅 | 经济 | 文明创建 | 部门 | 镇(街道) | 健康绵竹 | 南轩讲堂 | 视频 | 文明实践 | 领航中国 | 绵竹年画 | 绵竹历史 | 绵竹旅游 | 外媒看绵竹 | | ---- | ---- | ---- | ---- | ---- | ---- | ---- | -------- | ---- | ---------- | -------- | -------- | ---- | -------- | -------- | -------- | -------- | -------- | ---------- | | zx | tj | sz | jy | ms | wl | jj | wmcj | bm | zj | jkmz | nxjt | sp | wmsj | lhzg | mznh | mzls | mzly | wmkmz |` }; async function handler(ctx) { const infoType = ctx.req.param("infoType") || "zx"; const infoBasicUrl = `${rootUrl}${basicInfoDict[infoType].url}`; const infoUrlList = await getInfoUrlList(infoBasicUrl); const items = await Promise.all(infoUrlList.map((item) => getInfoContent(item))); return { title: `今日绵竹-${basicInfoDict[infoType].name}`, link: `${infoBasicUrl}1`, item: items.map((item) => ({ title: item.title, description: renderToString(/* @__PURE__ */ jsx("div", { children: item.content ? raw(item.content) : null })), link: item.link, pubDate: item.pubDate })) }; } //#endregion export { route };