UNPKG

rsshub

Version:
76 lines (74 loc) 2.58 kB
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 };