UNPKG

rsshub

Version:
57 lines (56 loc) 2 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/tongji/gs.ts const route = { path: "/gs", categories: ["university"], example: "/tongji/gs", parameters: {}, features: { requireConfig: false, requirePuppeteer: false, antiCrawler: false, supportBT: false, supportPodcast: false, supportScihub: false }, radar: [{ source: ["gs.tongji.edu.cn/tzgg.htm", "gs.tongji.edu.cn/"] }], name: "研究生院通知公告", maintainers: ["sitdownkevin"], handler, url: "gs.tongji.edu.cn/tzgg.htm" }; async function getNoticeContent(item) { const response = await got_default(item.link); item.description = load(response.body)("#vsb_content").html(); return item; } async function handler() { const baseUrl = "https://gs.tongji.edu.cn"; const response = await got_default(`${baseUrl}/tzgg.htm`); const $ = load(response.body); const items = $("body > div > div.con_list.ma0a > div > div.list_content_right > div.list_list > ul").find("li").toArray().map((item) => { const title = $(item).find("a").attr("title"); const linkRaw = $(item).find("a").attr("href"); const link = linkRaw.startsWith("http") ? linkRaw : `${baseUrl}/${linkRaw}`; const pubDate = $(item).find("span").text(); return { title, link, pubDate: parseDate(pubDate, "YYYY-MM-DD") }; }); return { title: "同济大学研究生院", link: baseUrl, description: "同济大学研究生院通知公告", image: "https://upload.wikimedia.org/wikipedia/zh/f/f8/Tongji_University_Emblem.svg", icon: "https://upload.wikimedia.org/wikipedia/zh/f/f8/Tongji_University_Emblem.svg", logo: "https://upload.wikimedia.org/wikipedia/zh/f/f8/Tongji_University_Emblem.svg", item: await Promise.all(items.map((item) => cache_default.tryGet(item.link, () => getNoticeContent(item)))) }; } //#endregion export { route };