rsshub
Version:
Make RSS Great Again!
76 lines (74 loc) • 2.58 kB
JavaScript
import "./config-C37vj7VH.mjs";
import "./logger-Czu8UMNd.mjs";
import "./proxy-Db7uGcYb.mjs";
import { n as puppeteer_default } from "./puppeteer-DGmvuGvT.mjs";
import { load } from "cheerio";
//#region lib/routes/hkushop/vinyl-or-picture-lp.ts
const route = {
path: "/vinyl/:cat?",
categories: ["shopping"],
example: "/hkushop/vinyl",
parameters: { cat: "分类,见下表,默认不分类" },
features: {
requireConfig: false,
requirePuppeteer: true,
antiCrawler: false,
supportBT: false,
supportPodcast: false,
supportScihub: false,
supportRadar: true
},
radar: [{
source: ["hkushop.com/vinyl-or-picture-lp.html", "hkushop.com/"],
target: "/vinyl"
}],
name: "HKU Shop 黑胶专区",
maintainers: ["gideonsenku"],
handler,
description: `常见分类:
| 華語音樂 | 經典復刻 | 古典跨界 | 爵士音樂 | 國際音樂 | 電影原聲帶 | 黑膠日本音樂 |
| ---- | ---- | ---- | ---- | ---- | ---- | ---- |
| 37 | 38 | 40 | 41 | 39 | 170 | 224 |`,
url: "hkushop.com/vinyl-or-picture-lp.html"
};
async function handler(ctx) {
const baseUrl = "https://hkushop.com";
const cat = ctx.req.param("cat") ?? "";
const url = cat ? `${baseUrl}/vinyl-or-picture-lp.html?cat=${cat}` : `${baseUrl}/vinyl-or-picture-lp.html`;
const browser = await puppeteer_default();
const page = await browser.newPage();
await page.setRequestInterception(true);
page.on("request", (request) => {
request.resourceType() === "document" || request.resourceType() === "script" ? request.continue() : request.abort();
});
await page.goto(url, { waitUntil: "domcontentloaded" });
const response = await page.content();
await page.close();
await browser.close();
const $ = load(response);
const list = $(".products.list.items.product-items .product-item").toArray().map((item) => {
const $item = $(item);
const $link = $item.find(".product-item-link");
const $price = $item.find(".price");
const $image = $item.find(".product-image-photo");
const $artist = $item.find(".artist a").text().trim();
return {
title: $link.text().trim(),
link: $link.attr("href"),
description: `
<img src="${$image.attr("src")}" />
<p>作者: ${$artist}</p>
<p>价格: ${$price.text().trim()}</p>
`,
guid: $link.attr("href")
};
});
return {
title: cat ? `黑胶彩胶系列 - ${$(".page-title").text().trim()}` : "黑胶彩胶系列 - HKU Shop 环球唱片网店",
link: url,
description: "HKU Shop 黑胶唱片最新商品信息",
item: list
};
}
//#endregion
export { route };