UNPKG

rsshub

Version:
81 lines (79 loc) 2.52 kB
import { n as init_esm_shims, t as __dirname } from "./esm-shims-CzJ_djXG.mjs"; import "./config-C37vj7VH.mjs"; import "./dist-BInvbO1W.mjs"; import "./logger-Czu8UMNd.mjs"; import "./ofetch-BIyrKU3Y.mjs"; import { t as parseDate } from "./parse-date-BrP7mxXf.mjs"; import { t as cache_default } from "./cache-Bo__VnGm.mjs"; import "./helpers-DxBp0Pty.mjs"; import { t as art } from "./render-BQo6B4tL.mjs"; import { t as got_default } from "./got-KxxWdaxq.mjs"; import "./config-not-found-Dyp3RlZZ.mjs"; import { t as domainValidation } from "./utils-Dffws7oF.mjs"; import path from "node:path"; import { load } from "cheerio"; //#region lib/routes/91porn/index.ts init_esm_shims(); const route = { path: "/:lang?", categories: ["multimedia"], example: "/91porn", parameters: { lang: "Language, see below, `en_US` by default " }, features: { requireConfig: false, requirePuppeteer: false, antiCrawler: true, supportBT: false, supportPodcast: false, supportScihub: false, nsfw: true }, radar: [{ source: ["91porn.com/index.php"], target: "" }], name: "Hot Video Today", maintainers: ["TonyRL"], handler, url: "91porn.com/index.php", description: `| English | 简体中文 | 繁體中文 | | ------- | -------- | -------- | | en\_US | cn\_CN | zh\_ZH |` }; async function handler(ctx) { const { domain = "91porn.com" } = ctx.req.query(); const siteUrl = `https://${domain}/index.php`; const { lang = "en_US" } = ctx.req.param(); domainValidation(domain); const $ = load((await got_default.post(siteUrl, { form: { session_language: lang }, headers: { referer: siteUrl } })).data); let items = $(".row .well").toArray().map((item) => { item = $(item); return { title: item.find(".video-title").text(), link: item.find("a").attr("href"), poster: item.find(".img-responsive").attr("src") }; }); items = await Promise.all(items.map((item) => cache_default.tryGet(`91porn:${lang}:${new URL(item.link).searchParams.get("viewkey")}`, async () => { const { data } = await got_default(item.link); const $$1 = load(data); item.pubDate = parseDate($$1(".title-yakov").eq(0).text(), "YYYY-MM-DD"); item.description = art(path.join(__dirname, "templates/index-234d0e45.art"), { link: item.link, poster: item.poster }); item.author = $$1(".title-yakov a span").text(); delete item.poster; return item; }))); return { title: `${$(".login_register_header").text()} - 91porn`, link: siteUrl, item: items }; } //#endregion export { route };