diff --git a/scrap_new_items.js b/scrap_new_items.js index d86ff19..b759636 100644 --- a/scrap_new_items.js +++ b/scrap_new_items.js @@ -15,7 +15,7 @@ async function safeGetContent(page) { } catch (err) { // Nếu navigation xảy ra → chờ page ổn định lại rồi đọc tiếp if (err.message.includes("Execution context was destroyed")) { - await page.waitForNetworkIdle({ idleTime: 1000 }).catch(() => {}); + await page.waitForNetworkIdle({ idleTime: 1000 }).catch(() => { }); return await page.content(); } throw err; @@ -117,11 +117,12 @@ async function scrapeWithPuppeteer(store) { nodes.forEach((node) => { const payload = {}; // ---------------- LINK + ID ---------------- - const linkEl = node.querySelector("div.su-media__image a"); + const linkEl = node.querySelector("div.su-image a"); // if (!linkEl) return; - - payload.link_detail = linkEl?.href || ""; - const idMatch = linkEl.href.match(/\/itm\/(\d+)/); + const linkDetail = linkEl && linkEl?.href ? linkEl?.href : "" + if (!linkDetail) return; + payload.link_detail = linkDetail; + const idMatch = linkDetail.match(/\/itm\/(\d+)/); if (!idMatch) return; payload.id = idMatch[1];