From 272f7d079cbac81c9af86b9f210ace8cabc0e98c Mon Sep 17 00:00:00 2001 From: yyamashita Date: Thu, 18 Jun 2026 12:51:55 +0900 Subject: Fix HTML entity leakage in FAD scraper and Pitbar _clone date bug fad-yokohama: replace innerHTML manipulation with Cheerio .clone().text() so that HTML entities (  etc.) are decoded before storing titles. pitbar-nishiogikubo: strip non-numeric suffix from day part of element ID to handle _clone-suffixed IDs that freecalend.com generates after JS renders. Co-Authored-By: Claude Sonnet 4.6 --- app/scrapers/pitbar-nishiogikubo.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'app/scrapers/pitbar-nishiogikubo.ts') diff --git a/app/scrapers/pitbar-nishiogikubo.ts b/app/scrapers/pitbar-nishiogikubo.ts index 2553002..569ce26 100644 --- a/app/scrapers/pitbar-nishiogikubo.ts +++ b/app/scrapers/pitbar-nishiogikubo.ts @@ -38,10 +38,10 @@ async function extractEvents(page: Page, dateFrom: string, dateTo: string): Prom return Array.from(cells).map((el) => { const id = el.getAttribute("id") ?? ""; const parts = id.split("-"); - // id: cal-25771-YYYY-M-D + // id: cal-25771-YYYY-M-D (sometimes suffixed with _clone after JS cloning) const year = parts[2]; const month = parts[3]; - const day = parts[4]; + const day = parts[4]?.replace(/\D.*$/, ""); if (!year || !month || !day) return null; return { date: `${year}-${month.padStart(2, "0")}-${day.padStart(2, "0")}`, -- cgit v1.2.3