rsshub
Version:
Make RSS Great Again!
59 lines (58 loc) • 1.9 kB
JavaScript
import { t as rofetch } from "./ofetch-C3ts-Hud.mjs";
import { t as parseDate } from "./parse-date-Cr0wQjV_.mjs";
import { t as cache_default } from "./cache-BkqOokyU.mjs";
import { load } from "cheerio";
//#region lib/routes/dgut/jwb.ts
const route = {
path: "/jwb/:type?",
categories: ["university"],
example: "/dgut/jwb/jwtz",
parameters: { type: "哪种通知,默认为教务通知" },
features: {
requireConfig: false,
requirePuppeteer: false,
antiCrawler: false,
supportBT: false,
supportPodcast: false,
supportScihub: false
},
maintainers: ["1200522928"],
radar: [{
source: ["jwb.dgut.edu.cn/tzgg/"],
target: ""
}],
name: "教务部通知公告",
description: `| 教学动态 | 教务通知 | 教研通知 | 实践通知 | 产业学院 | 通识教育 | "杨振宁" 班 | 招生信息 | 采购公告 |
| -------- | -------- | -------- | -------- | -------- | -------- | ----------- | -------- | -------- |
| jxdt | jwtz | jytz | sjtz | cyxy | tsjy | yznb | zsxx | cggg |`,
handler
};
async function handler(ctx) {
const { type = "jwtz" } = ctx.req.param();
const url = `https://jwb.dgut.edu.cn/tzgg/${type}.htm`;
const baseurl = "https://jwb.dgut.edu.cn/";
const $ = load(await rofetch(url));
const list = $("ul.ul-new4 > li").toArray().map((item) => {
const $a = $(item).find("a.con");
return {
title: $a.find(".tit").text().trim(),
pubDate: parseDate(`${$a.find(".year").text()}-${$a.find(".day").text()}`),
link: `${baseurl}${$a.attr("href")}`
};
});
const items = await Promise.all(list.map((item) => cache_default.tryGet(item.link, async () => {
const $ = load(await rofetch(item.link));
return {
...item,
description: $("div.v_news_content").html()
};
})));
return {
title: $("title").text(),
link: url,
allowEmpty: true,
item: items
};
}
//#endregion
export { route };