UNPKG

rsshub

Version:
48 lines (47 loc) 1.5 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"; //#region lib/routes/cqut/cqut-libnews.ts const route = { path: "/libnews", categories: ["university"], example: "/cqut/libnews", features: { requirePuppeteer: true, antiCrawler: true }, radar: [{ source: ["lib.cqut.edu.cn/*"] }], name: "图书馆通知", maintainers: ["Colin-XKL"], handler }; async function handler() { const baseUrl = "https://lib.cqut.edu.cn"; const engineInstanceId = 2279098; const link = `${baseUrl}/engine2/m/92B7143BAD30EE0E?p=308147`; const { page, destroy } = await getPlaywrightPage(link, { noGoto: true }); try { await page.route("**/*", (route) => [ "document", "script", "xhr", "fetch" ].includes(route.request().resourceType()) ? route.continue() : route.abort()); const responsePromise = page.waitForResponse((response) => response.url().includes("/type/more-datas"), { timeout: 3e3 }); await page.goto(link, { waitUntil: "domcontentloaded" }); const { data } = await (await responsePromise).json(); return { title: "重庆理工大学中山图书馆资讯", link, item: data.datas.datas.map((item) => ({ title: item["1"].value, link: `${baseUrl}/engine2/d/${item.id}/${engineInstanceId}/0`, pubDate: timezone(parseDate(item["6"].value), 8) })) }; } finally { await destroy(); } } //#endregion export { route };