A Node.js scraper for downloading Nintendo Switch theme packs from Themezer.net.
- Scrapes theme pack listings from Themezer
- Downloads theme files and preview images
- Saves metadata for each pack
- Concurrent downloads with rate limiting
- Resume support (skips already downloaded packs)
- Node.js (v12 or higher)
- npm packages:
node-fetchcheerio
npm install node-fetch cheerionode scraper.jsThe scraper will:
- Fetch theme packs from up to 135 pages
- Download each pack's theme file and preview image
- Save metadata in
info.jsonfor each pack - Generate a summary file
themezer_summary.json
themezer_packs/
├── Theme_Name_1/
│ ├── theme.zip
│ ├── preview.png
│ └── info.json
├── Theme_Name_2/
│ ├── theme.zip
│ ├── preview.jpg
│ └── info.json
└── ...
themezer_summary.json
Edit the main() function to adjust:
maxPages: Number of pages to scrape (default: 135)download: Set tofalseto only fetch metadata without downloading files
-
Concurrent downloads limited to 8 simultaneous requests
-
1 second delay between page scrapes
-
10 second timeout per request
-
Existing packs are automatically skipped
-
Invalid characters in filenames are replaced with underscores
-
Failed downloads are logged but don't stop the scraper