3 Commits

Author SHA1 Message Date
d287801551 fix(bikegear): use brand name from BRANDS list instead of JSON-LD brand field
JSON-LD on bikegear.in has incorrect/all-caps brand names (e.g. "ACERBIS Hemets",
full page titles as brand). Our BRANDS list has the correct clean names.
Changed priority: brandName (our list) > jsonLd.brand.name > fallback.
Applied to both standalone local scraper and server scraper.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-08-08 23:09:33 +05:30
6ba4dc7d83 feat(bikegear): retry failed products up to 3 times after all brands complete
After the main scrape loop finishes, collects all products that had scrapeError
and retries them sequentially up to 3 times with a 2s pause between passes.
Updates the output in-place so recovered products count as successes.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-08-08 21:54:35 +05:30
ac0c37670b feat(bikegear): add fully standalone single-file scraper for sharing
Self-contained — all brands and scraper logic inlined, no project imports.
Only needs: npm install axios, then node bikegear-scraper.js.
Supports resume on Ctrl+C, saves bikegear_output.json in server-compatible format.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-08-05 23:58:58 +05:30