Skip to content

Repository files navigation

Artvee Node Scraper

NPM Version Node Current Node LTS NPM License

GitHub Actions Workflow Status Coverage Status OpenSSF Scorecard OpenSSF Best Practices

A powerful Node.js scraper for Artvee.com - download and organize high-quality public domain artwork with advanced filtering, progress tracking, and compression.

✨ Features

  • 🎨 Smart Filtering - Search by category, century, orientation
  • 💾 Multi-Quality Downloads - Thumbnail, standard (1800px), high (up to 7000px+)
  • 📊 Progress Tracking - Beautiful visual progress bars with file sizes
  • 🗜️ Image Compression - Reduce file sizes by 80%+ with format conversion
  • 🔄 Auto Retry & Resume - Robust downloads with exponential backoff
  • Batch Processing - Concurrent downloads with rate limiting
  • 📦 Metadata Export - Save artwork details as JSON
  • 🔐 Premium Support - Full premium account integration

🚀 Quick Start

npm install
const ArtveeScraper = require('./scraper');

// Initialize scraper
const scraper = new ArtveeScraper({
  maxRetries: 3,      // Auto-retry failed downloads
  enableResume: true  // Resume interrupted downloads
});

// Scrape artworks
const results = await scraper.scrapeArtworks({
  category: 'landscape',
  century: '17th-century',
  perPage: 20
});

// Download with progress bars
await scraper.downloadMultipleArtworks(
  results.artworks,
  './downloads',
  {
    quality: 'standard',
    compress: true,
    showProgress: true
  }
);

📚 Documentation

📖 Visit the Wiki for complete documentation:

Guide Description
Installation Setup and dependencies
Usage Guide Scraping and filtering
Download Guide Progress bars, retry, resume
Compression Guide Image optimization
API Reference Complete API docs
Examples 14+ code examples
Premium Account Premium features
FAQ Common questions
Troubleshooting Debug issues

🎯 Quick Examples

See examples/ directory or run:

npm run test-scrape          # Scraping demo
npm run test-download        # Download demo
npm run test-compression     # Compression demo
npm run demo-retry-resume    # Retry/resume demo
npm run fuzz                 # Property-based fuzz tests

💡 Key Features

Progress Bars

📥 17th_Century_Landscape      │█████████████████│ 100% │ 2.30 MB
↻ Dutch_Harbor_Scene           │█████████░░░░░░░░│  60% │ 1.25/2.10 MB (resuming)

Compression

Reduce file sizes by 80%+ with quality/format control. See Compression Guide.

Retry & Resume

Auto-retry with exponential backoff. Resume interrupted downloads. See Download Guide.

⚖️ License & Disclaimer

License: Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)

This means you can use, modify, and distribute this code as long as you:

  • ✅ Give appropriate credit
  • ✅ Share derivatives under the same license

Educational Use Only - Please respect Artvee's Terms of Service. Use responsibly with appropriate delays and rate limiting.


📖 Full DocumentationExamplesIssuesContributing

About

A Node.js web scraper for https://artvee.com/ that allows you to scrape, filter, and download artwork data by category, century, and orientation.

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages