rsshub
Version:
Make RSS Great Again!
54 lines (52 loc) • 1.57 kB
JavaScript
import "./esm-shims-CzJ_djXG.mjs";
import "./config-C37vj7VH.mjs";
import "./dist-BInvbO1W.mjs";
import "./logger-Czu8UMNd.mjs";
import { t as ofetch_default } from "./ofetch-BIyrKU3Y.mjs";
import { t as parseDate } from "./parse-date-BrP7mxXf.mjs";
import { t as cache_default } from "./cache-Bo__VnGm.mjs";
import { load } from "cheerio";
//#region lib/routes/zhihu/daily.ts
const route = {
path: "/daily",
categories: ["social-media"],
example: "/zhihu/daily",
parameters: {},
features: {
requireConfig: false,
requirePuppeteer: false,
antiCrawler: true,
supportBT: false,
supportPodcast: false,
supportScihub: false
},
radar: [{ source: ["daily.zhihu.com/*"] }],
name: "知乎日报",
maintainers: ["DHPO", "pseudoyu"],
handler,
url: "daily.zhihu.com/*"
};
async function handler() {
const $ = load(await ofetch_default("https://daily.zhihu.com/"));
return {
title: "知乎日报",
link: "https://daily.zhihu.com",
description: "每天3次,每次7分钟",
image: "http://static.daily.zhihu.com/img/new_home_v3/mobile_top_logo.png",
item: await Promise.all($(".box").toArray().map(async (item) => {
item = $(item);
const storyUrl = "https://daily.zhihu.com/api/7" + item.find(".link-button").attr("href");
const storyJson = await cache_default.tryGet(storyUrl, async () => {
return await ofetch_default(storyUrl);
});
return {
title: storyJson.title,
description: storyJson.body,
link: storyJson.url,
pubDate: parseDate(storyJson.publish_time, "X")
};
}))
};
}
//#endregion
export { route };