/work/catalog-scraper

Catalog scraper

what it is
tool / automation
role
scoping, code, tests
year
2026
platform
Node.js

Demo project: the businesses in the examples are fictional, there is no client. Code and tests were written for the portfolio.

Demo project for the portfolio.

The task: a spreadsheet of every product or listing on a site — price, specs, links, photos — for competitor analysis or catalogue migration.

A site profile (CSS selectors in JSON) and a generic crawler: rel=next pagination, item pages, prices like “14.

900.

000 ₺ / ay” parsed into a number and a period, de-duplication, robots.

txt and Crawl-delay, growing delays and Retry-After on 429 and 5xx.

Output to CSV (BOM, formula-injection safe), a formatted XLSX and JSON.

Tests 8/8.

The demo ran only on this portfolio’s local Laravel site: 20/20 listings, 0 errors.

skills and tools

  • Node.js
  • web scraping
  • cheerio
  • ExcelJS
  • CSV / XLSX / JSON
  • robots.txt

screens

cover
cover
demo: a local real-estate site → 3 pages, 20 listings × 19 fields, 7 s
demo: a local real-estate site → 3 pages, 20 listings × 19 fields, 7 s
next projecte-mail templates
human