rsshub
Version:
Make RSS Great Again!
60 lines (58 loc) • 1.96 kB
JavaScript
import { t as rofetch } from "./ofetch-W1aeTHCo.mjs";
import { t as parseDate } from "./parse-date-CjhZE69i.mjs";
import { t as timezone } from "./timezone-DE--ze1V.mjs";
import { load } from "cheerio";
//#region lib/routes/xynu/zkb.ts
const route = {
path: "/zkb/:category",
categories: ["university"],
example: "/xynu/zkb/zkzx",
parameters: { category: "分类ID" },
name: "高等教育自学考试办公室",
maintainers: ["VxRain"],
handler,
description: `分类 ID(如果请求的分类 ID 在不存在下表中,默认请求\`zkzx\`)
| 主考专业 | 规章制度 | 实践课程 | 毕业论文 | 学士学位 | 自考毕业 | 自考教材 | 自考指南 | 联系我们 | 自考资讯 | 报名指南 | 日程安排 | 新生入门 | 转考免考 | 复习资料 |
| -------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- |
| zkzy | gzzd | sjkc | bylw | xsxw | zkby | zkjc | zkzn | lxwm | zkzx | bmzn | rcap | xsrm | zkmk | fxzl |`
};
async function handler(ctx) {
const baseUrl = "http://zkb.xynu.edu.cn/";
const categoryList = /* @__PURE__ */ new Set([
"zkzy",
"gzzd",
"sjkc",
"bylw",
"xsxw",
"zkby",
"zkjc",
"zkzn",
"lxwm",
"zkzx",
"bmzn",
"rcap",
"xsrm",
"zkmk",
"fxzl"
]);
const { category } = ctx.req.param();
const path = categoryList.has(category) ? `${category}.htm` : "zkzx.htm";
const $ = load(await rofetch(baseUrl + path));
const items = $(".gg ul > li").toArray().map((item) => {
const $item = $(item);
const a = $item.find("a");
return {
title: a.text(),
description: a.text(),
link: new URL(a.attr("href"), baseUrl).href,
pubDate: timezone(parseDate($item.find("span").text()), 8)
};
});
return {
title: $("title").text(),
link: baseUrl + path,
item: items
};
}
//#endregion
export { route };