UNPKG

rsshub

Version:
60 lines (59 loc) 1.83 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 { t as timezone } from "./timezone-UiMFOuvL.mjs"; import { load } from "cheerio"; //#region lib/routes/chsi/kydt.ts const host = "https://yz.chsi.com.cn"; const route = { path: "/kydt", categories: ["study"], example: "/chsi/kydt", parameters: {}, features: { requireConfig: false, requirePuppeteer: false, antiCrawler: false, supportBT: false, supportPodcast: false, supportScihub: false }, radar: [{ source: ["yz.chsi.com.cn/kyzx/kydt"] }], name: "考研动态", maintainers: ["SunBK201"], handler, url: "yz.chsi.com.cn/kyzx/kydt" }; async function handler() { const response = await got_default(`${host}/kyzx/kydt`); const $ = load(response.data); const list = $("ul.news-list").children(); const items = await Promise.all(list.map((i, item) => { const $item = $(item); const itemTitle = $item.find("a").text(); const itemDate = $item.find(".span-time").text(); const path = $item.find("a").attr("href"); const itemUrl = path.startsWith("http") ? path : host + path; return cache_default.tryGet(itemUrl, async () => { let description; if (!path.startsWith("https://") && !path.startsWith("http://")) { const result = await got_default(itemUrl); description = load(result.data)("#article_dnull").html().trim(); } else description = itemTitle; return { title: itemTitle, link: itemUrl, pubDate: timezone(parseDate(itemDate), 8), description }; }); })); return { title: "中国研究生招生信息网 - 考研动态", link: `${host}/kyzx/kydt/`, description: "中国研究生招生信息网 - 考研动态", item: items }; } //#endregion export { route };