rsshub
Version:
Make RSS Great Again!
60 lines (59 loc) • 1.8 kB
JavaScript
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 };