UNPKG

rsshub

Version:
59 lines (57 loc) 1.69 kB
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 };