rsshub
Version:
Make RSS Great Again!
67 lines (65 loc) • 1.88 kB
JavaScript
import "./esm-shims-CzJ_djXG.mjs";
import { t as config } from "./config-C37vj7VH.mjs";
import "./dist-BInvbO1W.mjs";
import "./logger-Czu8UMNd.mjs";
import "./ofetch-BIyrKU3Y.mjs";
import { t as parseDate } from "./parse-date-BrP7mxXf.mjs";
import "./helpers-DxBp0Pty.mjs";
import { t as got_default } from "./got-KxxWdaxq.mjs";
import { load } from "cheerio";
//#region lib/routes/ddosi/category.ts
const route = {
path: "/category/:category?",
categories: ["blog"],
example: "/ddosi/category/黑客工具",
parameters: { category: "N" },
features: {
requireConfig: false,
requirePuppeteer: false,
antiCrawler: false,
supportBT: false,
supportPodcast: false,
supportScihub: false
},
radar: [{
source: ["ddosi.org/category/:category/"],
target: "/category/:category"
}],
name: "分类",
maintainers: [],
handler,
url: "ddosi.org/"
};
async function handler(ctx) {
const url = "https://www.ddosi.org/category";
const userAgent = config.ua || "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1";
const category = ctx.req.param("category");
const $ = load((await got_default({
method: "get",
url: `${url}/${category}/`,
headers: {
"User-Agent": userAgent,
Referer: url
}
})).data);
const items = $("main>article").toArray().map((i) => {
const item = $(i);
const href = item.find("a:first-child").attr("href");
const title = item.find(".entry-title a").text();
const description = item.find(".entry-content p").text();
const date = parseDate(item.find(".meta-date a time").attr("datetime"));
return {
title: String(title),
description: String(description),
pubDate: date,
link: String(href)
};
});
return {
title: `雨苁-${category}`,
link: `${url}/${category}/`,
item: items
};
}
//#endregion
export { route };