UNPKG

rsshub

Version:
51 lines (49 loc) 1.43 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/hottoys/index.ts const route = { path: "/", categories: ["shopping"], example: "/hottoys", radar: [{ source: ["hottoys.com.hk/"] }], name: "Toys List", maintainers: ["jw0903"], handler, url: "hottoys.com.hk/", features: { requirePuppeteer: true } }; async function handler() { const baseUrl = "https://www.hottoys.com.hk"; const browser = await puppeteer_default(); const page = await browser.newPage(); await page.setRequestInterception(true); page.on("request", (request) => { request.resourceType() === "document" ? request.continue() : request.abort(); }); await page.goto(baseUrl, { waitUntil: "domcontentloaded" }); const response = await page.content(); await page.close(); const $ = load(response); const items = $("li.productListItem").toArray().map((item) => { const dom = $(item); const a = dom.find("a").first(); const img = dom.find("img").first(); return { title: img.attr("title") ?? "hottoys", link: `${baseUrl}/${a.attr("href")}`, description: `<img src="${baseUrl}${img.attr("src")}" />`, guid: a.attr("href") }; }); await browser.close(); return { title: "Hot Toys New Products", link: baseUrl, item: items }; } //#endregion export { route };