UNPKG

rsshub

Version:
57 lines (55 loc) 1.72 kB
import "./esm-shims-CzJ_djXG.mjs"; import "./config-C37vj7VH.mjs"; import { t as ViewType } from "./types-D84BRIt4.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/acfun/video.ts const route = { path: "/user/video/:uid", radar: [{ source: ["www.acfun.cn/u/:id"], target: "/user/video/:id" }], name: "用户投稿", parameters: { uid: "用户 UID" }, categories: ["anime"], example: "/acfun/user/video/6102", view: ViewType.Videos, maintainers: ["wdssmq"], handler }; async function handler(ctx) { const url = `https://www.acfun.cn/u/${ctx.req.param("uid")}`; const host = "https://www.acfun.cn"; const data = (await got_default(url, { headers: { Referer: host } })).data; const $ = load(data); const title = $("title").text(); const description = $(".signature .complete").text(); const list = $("#ac-space-video-list a").toArray(); return { title, link: url, description, image: $("head style").text().match(/.user-photo{\n\s*background:url\((.*)\) 0% 0% \/ 100% no-repeat;/)[1], item: list.map((item) => { item = $(item); const itemTitle = item.find("p.title").text(); const itemImg = item.find("figure img").attr("src"); const itemUrl = item.attr("href"); const itemDate = item.find(".date").text(); return { title: itemTitle, description: `<img src="${itemImg.split("?")[0]}">`, link: host + itemUrl, pubDate: parseDate(itemDate, "YYYY/MM/DD") }; }) }; } //#endregion export { route };