UNPKG

rsshub

Version:
51 lines (50 loc) 1.56 kB
import { t as parseDate } from "./parse-date-CjhZE69i.mjs"; import { t as timezone } from "./timezone-DE--ze1V.mjs"; import { t as getPlaywrightPage } from "./playwright-Dd_brOFk.mjs"; import { load } from "cheerio"; //#region lib/routes/cqut/cqut-news.ts const route = { path: "/news", categories: ["university"], example: "/cqut/news", features: { requirePuppeteer: true, antiCrawler: true }, radar: [{ source: ["www.cqut.edu.cn/tzgg/xxtz1.htm"] }], name: "学校通知", maintainers: ["Colin-XKL"], handler }; async function handler() { const link = "https://www.cqut.edu.cn/tzgg/xxtz1.htm"; const { page, destroy } = await getPlaywrightPage(link, { onBeforeLoad: async (page) => { await page.route("**/*", (route) => { const request = route.request(); ["document", "script"].includes(request.resourceType()) ? route.continue() : route.abort(); }); }, gotoConfig: { waitUntil: "networkidle" } }); const response = await page.content(); await destroy(); const $ = load(response); return { title: "重庆理工大学 - 学校通知", link, item: $(".sub_list075 ul li[id^=\"line_\"]").toArray().map((item) => { const $item = $(item); const title = $item.find(".title"); title.find("em").remove(); return { title: title.text(), description: $item.find(".info").text().trim(), link: new URL($item.find("a").attr("href"), link).href, pubDate: timezone(parseDate(`${$item.find(".month").text()}-${$item.find(".day").text()}`, "YYYY-MM-DD"), 8) }; }) }; } //#endregion export { route };