rsshub
Version:
Make RSS Great Again!
66 lines (64 loc) • 1.84 kB
JavaScript
import "./dist-Bog6z_OM.mjs";
import { t as config } from "./config-MQ-7ebJ_.mjs";
import "./logger-C4avouvV.mjs";
import "./ofetch-DKl_Ma9g.mjs";
import { t as parseDate } from "./parse-date-r5WDWHno.mjs";
import "./helpers-Bo4JQYdN.mjs";
import { t as got_default } from "./got-CO-ndVl2.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 };