UNPKG

rsshub

Version:
60 lines (59 loc) 1.8 kB
import { t as config } from "./config-CCmw1BNE.mjs"; import { t as cache_default } from "./cache-BkqOokyU.mjs"; import { t as got_default } from "./got-BTowW50G.mjs"; import { load } from "cheerio"; //#region lib/routes/douban/people/wish.ts const route = { path: "/people/:userid/wish", categories: ["social-media"], example: "/douban/people/exherb/wish", parameters: { userid: "用户id" }, features: { requireConfig: false, requirePuppeteer: false, antiCrawler: false, supportBT: false, supportPodcast: false, supportScihub: false }, name: "用户想看", maintainers: ["exherb"], handler }; async function handler(ctx) { const userid = ctx.req.param("userid"); const url = `https://movie.douban.com/people/${userid}/wish`; const $ = load(await cache_default.tryGet(url, async () => { return (await got_default({ method: "GET", url, headers: { Referer: url, Cookie: config.douban.cookie || "" } })).data; }, config.cache.routeExpire, false)); const username = $("div.side-info-txt > h3").text(); const items = $("div.article > div.grid-view > div.item").toArray().map((item) => { const $item = $(item); const itemPicUrl = $item.find(".pic a img").attr("src"); const info = $item.find(".info"); const title = info.find("ul li.title a").text(); const url = info.find("ul li.title a").attr("href"); const title_ = title.split("/").find((title) => title.trim()); const day = info.find("ul li .date").text().trim(); return { title: title_, description: `${info.find(".intro").text()}<br><img src="${itemPicUrl}">`, link: url, pubDate: new Date(day) }; }); return { title: `豆瓣想看 - ${username || userid}`, link: `https://movie.douban.com/people/${userid}/wish`, item: items }; } //#endregion export { route };