UNPKG

rsshub

Version:
57 lines (56 loc) 1.99 kB
import { t as parseDate } from "./parse-date-3kcy2Eau.mjs"; import { t as cache_default } from "./cache-C1Y-9qDV.mjs"; import { t as got_default } from "./got-DUpa1V3-.mjs"; import { load } from "cheerio"; //#region lib/routes/gov/miit/yjzj.ts const rootUrl = "https://www.miit.gov.cn"; const route = { path: "/yjzj", categories: ["government"], example: "/gov/miit/yjzj", parameters: {}, features: { requireConfig: false, requirePuppeteer: false, antiCrawler: false, supportBT: false, supportPodcast: false, supportScihub: false }, radar: [{ source: ["miit.gov.cn/gzcy/yjzj/index.html"] }], name: "意见征集", maintainers: ["Fatpandac"], handler, url: "miit.gov.cn/gzcy/yjzj/index.html" }; async function handler() { const url = `${rootUrl}/gzcy/yjzj/index.html`; const indexResponse = await got_default(url); const indexContent = load(indexResponse.data); const dataRequestUrl = indexContent("div.clist_con > script:nth-child(2)").toArray().map((item) => ({ url: `${rootUrl}${indexContent(item).attr("url")}`, queryData: JSON.parse(indexContent(item).attr("querydata").replaceAll("\"", "|").replaceAll(/['|]/g, "\"")) }))[0]; const dataUrl = `${dataRequestUrl.url}?${Object.entries(dataRequestUrl.queryData).map(([key, value]) => `${key}=${value}`).join("&")}`; const response = await got_default({ method: "get", url: dataUrl }); const $ = load(response.data.data.html); const list = $("ul > li").toArray().map((item) => ({ title: $(item).find("a").text(), link: new URL($(item).find("a").attr("href"), rootUrl).href, pubDate: parseDate($(item).find("span").text(), "YYYY-MM-DD") })); return { title: "工业和信息化部 - 意见征集", link: url, item: await Promise.all(list.map((item) => cache_default.tryGet(item.link, async () => { const detailResponse = await got_default(item.link); item.description = load(detailResponse.data)("#con_con").html(); return item; }))) }; } //#endregion export { route };