UNPKG

rsshub

Version:
59 lines (58 loc) 1.72 kB
import { t as cache_default } from "./cache-C1Y-9qDV.mjs"; import { t as got_default } from "./got-DUpa1V3-.mjs"; import { t as rootUrl } from "./utils-BhxW03lY.mjs"; import { load } from "cheerio"; import pMap from "p-map"; //#region lib/routes/agefans/update.ts const route = { path: "/update", categories: ["anime"], example: "/agefans/update", parameters: {}, features: { requireConfig: false, requirePuppeteer: false, antiCrawler: false, supportBT: false, supportPodcast: false, supportScihub: false }, radar: [{ source: ["agemys.org/update", "agemys.org/"] }], name: "最近更新", maintainers: ["nczitzk"], handler, url: "agemys.org/update" }; async function handler() { const currentUrl = `${rootUrl}/update`; const response = await got_default(currentUrl); const $ = load(response.data); const list = $(".video_item").toArray().map((item) => { const $item = $(item); const link = $item.find("a").attr("href").replace("http://", "https://"); return { title: $item.text(), link, guid: `${link}#${$item.find(".video_item--info").text()}` }; }); const items = await pMap(list, (item) => cache_default.tryGet(item.link, async () => { const detailResponse = await got_default(item.link); const content = load(detailResponse.data); content("img").each((_, ele) => { if (!ele.attribs["data-original"]) return; ele.attribs.src = ele.attribs["data-original"]; delete ele.attribs["data-original"]; }); content(".video_detail_collect").remove(); item.description = content(".video_detail_left").html(); return item; }), { concurrency: 3 }); return { title: $("title").text(), link: currentUrl, item: items }; } //#endregion export { route };