rsshub
Version:
Make RSS Great Again!
59 lines (57 loc) • 1.69 kB
JavaScript
import "./esm-shims-CzJ_djXG.mjs";
import "./config-C37vj7VH.mjs";
import "./dist-BInvbO1W.mjs";
import "./logger-Czu8UMNd.mjs";
import "./ofetch-BIyrKU3Y.mjs";
import "./helpers-DxBp0Pty.mjs";
import { t as got_default } from "./got-KxxWdaxq.mjs";
import { t as invalid_parameter_default } from "./invalid-parameter-rr4AgGpp.mjs";
import { t as isValidHost } from "./valid-host-C-u5eW3j.mjs";
import { load } from "cheerio";
//#region lib/routes/liveuamap/index.ts
const route = {
path: "/:region?",
categories: ["new-media"],
example: "/liveuamap",
parameters: { region: "region 热点地区,默认为`ukraine`,其他选项见liveuamap.com的三级域名" },
features: {
requireConfig: false,
requirePuppeteer: false,
antiCrawler: true,
supportBT: false,
supportPodcast: false,
supportScihub: false
},
radar: [{
source: ["liveuamap.com/:region*"],
target: "/:region"
}],
name: "实时消息",
maintainers: ["CoderSherlock"],
handler
};
async function handler(ctx) {
const region = ctx.req.param("region") ?? "ukraine";
const limit = ctx.req.query("limit") ? Number.parseInt(ctx.req.query("limit")) : 50;
if (!isValidHost(region)) throw new invalid_parameter_default("Invalid region");
const url = `https://${region}.liveuamap.com/`;
const $ = load((await got_default({
method: "get",
url
})).data);
const items = $("div#feedler > div").slice(0, limit).toArray().map((item) => {
item = $(item);
return {
title: item.find("div.title").text(),
description: item.find("div.title").text(),
link: item.attr("data-link")
};
});
return {
title: `Liveuamap - ${region}`,
link: url,
item: items
};
}
//#endregion
export { route };