rsshub
Version:
Make RSS Great Again!
97 lines (94 loc) • 2.92 kB
JavaScript
import "./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 "./helpers-DxBp0Pty.mjs";
import { t as got_default } from "./got-KxxWdaxq.mjs";
import { load } from "cheerio";
//#region lib/routes/hinatazaka46/blog.ts
const rootUrl = "https://www.hinatazaka46.com";
const route = {
path: "/blog/:id?/:page?",
categories: ["new-media"],
example: "/hinatazaka46/blog",
parameters: {
id: "Member ID, see below, `all` by default",
page: "Page, `0` by default"
},
features: {
requireConfig: false,
requirePuppeteer: false,
antiCrawler: false,
supportBT: false,
supportPodcast: false,
supportScihub: false
},
name: "Hinatazaka46 Blog 日向坂 46 博客",
maintainers: [],
handler,
description: `Member ID
| Member ID | Name |
| --------- | ------------ |
| 2000 | 四期生リレー |
| 36 | 渡辺 莉奈 |
| 35 | 山下 葉留花 |
| 34 | 宮地 すみれ |
| 33 | 藤嶌 果歩 |
| 32 | 平岡 海月 |
| 31 | 平尾 帆夏 |
| 30 | 竹内 希来里 |
| 29 | 正源司 陽子 |
| 28 | 清水 理央 |
| 27 | 小西 夏菜実 |
| 26 | 岸 帆夏 |
| 25 | 石塚 瑶季 |
| 24 | 山口 陽世 |
| 23 | 森本 茉莉 |
| 22 | 髙橋 未来虹 |
| 21 | 上村 ひなの |
| 18 | 松田 好花 |
| 17 | 濱岸 ひより |
| 16 | 丹生 明里 |
| 15 | 富田 鈴花 |
| 14 | 小坂 菜緒 |
| 13 | 河田 陽菜 |
| 12 | 金村 美玖 |
| 11 | 東村 芽依 |
| 10 | 高本 彩花 |
| 9 | 高瀬 愛奈 |
| 8 | 佐々木 美玲 |
| 7 | 佐々木 久美 |
| 6 | 齊藤 京子 |
| 5 | 加藤 史帆 |
| 4 | 影山 優佳 |
| 2 | 潮 紗理菜 |`
};
async function handler(ctx) {
const id = ctx.req.param("id") ?? "all";
const page = ctx.req.param("page") ?? "0";
const currentUrl = `${rootUrl}/s/official/diary/member/list${id === "all" ? `?page=${page}` : `?page=${page}&ct=${id}`}`;
const $ = load((await got_default({
method: "get",
url: currentUrl
})).data);
const items = $("div.p-blog-group .p-blog-article").toArray().map((item) => {
const content = load(item);
return {
title: content(".c-blog-article__title").text(),
link: content(".c-button-blog-detail").attr("href"),
pubDate: parseDate(content(".c-blog-article__date").text()),
author: content(".c-blog-article__name").text(),
description: content(".c-blog-article__text").html()
};
});
return {
allowEmpty: true,
title: $("title").text(),
link: currentUrl,
item: items
};
}
//#endregion
export { route };