lacspace-scraper
Scrape structured data from any website — CSS selectors or auto-detect.
npx lacspace-scraper https://example.com --auto -f jsonEverything, in one command
lacspace-scraper ships its own zero-dependency HTML parser and CSS-selector engine, so a fast static engine handles most sites with no browser at all — and an optional real-browser mode renders JavaScript apps when you need it. Extract exactly the fields you want with a selector schema, turn repeating cards into one record each, or let the auto-detectors grab everything a page exposes. It now follows pagination automatically, opens each list item's detail page to merge extra fields, transforms values inline (numbers, dates, regex, absolute URLs…), dedupes and limits output, rotates proxies with per-host rate limits, and can screenshot or PDF a page in browser mode.
What's inside
Selector schema
Map fields to CSS selectors (text, @attributes, inner HTML, or all matches as an array).
Repeating items
--item ".card" yields one record per element — product grids, list rows, search results.
Pagination
--paginate "a.next" follows the next-page link and accumulates every record, up to --max-pages.
Follow detail pages
--follow opens each result's link and merges fields scraped from the detail page into the record.
Field transforms
Clean inline with a pipe: --field "price=.price | number" — trim, date, regex, split, absolute URL and more.
Auto-detect
Metadata, headings, links, images, emails, phones, tables, JSON-LD, OpenGraph, feeds and readable text.
Static or browser
A fast zero-dependency engine by default; a real browser (--browser) with --scroll, --screenshot and --pdf.
Crawl & sitemap
BFS crawl with depth/page limits, or seed the whole run straight from a sitemap.xml.
Dedupe & limit
--unique <field>, --dedupe and --limit keep the output clean; --header/--cookie/--proxy/--rate control the session.
Any format
JSON, NDJSON, CSV or Excel, plus a feed command for RSS/Atom/JSON Feed.
Copy, paste, done
Real commands and snippets — from a one-liner to the typed library.
npx lacspace-scraper https://shop.site/page/1 \
--item ".product" --field "name=h3" --field "price=.price | number" \
--paginate "a.pagination-next" --max-pages 10 -f csvFollows every next page; prices come out as real numbers.
npx lacspace-scraper https://jobs.site \
--item ".job" --field "title=h2" --field "link=a@href" \
--follow link --detail-field "salary=.salary" --unique link -f xlsxVisits each job's page and merges its salary.
npx lacspace-scraper --sitemap https://blog.site/sitemap.xml \
--auto metadata --dedupe --limit 100 -f ndjsonSeeds the URL list from the sitemap.
npx lacspace-scraper https://app.site --browser \
--scroll 8 --screenshot app.png --autoAuto-scrolls a lazy page, then captures it.
npx lacspace-scraper feed https://blog.site/feed.xml -f xlsxRSS, Atom or JSON Feed → rows.
What people build with it
✓ Turn any website's listings into a spreadsheet
✓ Monitor prices, jobs, listings or catalog changes
✓ Build a dataset from a site's sitemap
✓ Extract metadata, tables or JSON-LD at scale
Run lacspace-scraper today
Free, open-source, no API keys. It's a CLI and a typed library.
npx lacspace-scraper https://example.com --auto -f json