🕷️ Web Scraper Platform

Build and Push Images License: MIT GitHub Stars

Production-ready web scraping platform with PostgreSQL, WebUI, REST API, and price monitoring.

⭐ View on GitHub

✨ Features

🔍 Multi-site scraping
Scrape any e-commerce site with CSS selectors
🎨 WebUI
Configure and monitor via web interface
📡 REST API
Programmatic data access with API key authentication
🔔 Price alerts
Discord notifications for price drops
🐘 PostgreSQL
Production-grade database
🐳 Docker
Run everything with a single docker compose up
🔒 Security
API authentication, secrets, no-new-privileges
🌐 Proxy support
Optional HTTP/HTTPS proxy for anti-bot protection

🚀 Quick Start

# 1. Clone the repository
git clone https://github.com/blixten85/scraper.git
cd scraper

# 2. Create .env file with your settings
cp .env.example .env
nano .env

# 3. Create directories and set permissions
mkdir -p ${DOCKER}/scraper/{logs,postgres,playwright-cache}
sudo chown -R 999:999 ${DOCKER}/scraper/postgres

# 4. Create Discord webhook (optional)
echo "your-discord-webhook-url" > ${CONFIG}/.secrets/discord_webhook

# 5. Start the platform
docker compose up -d

# 6. Open WebUI
# http://localhost:3000

📦 Services

ServicePortDescription
scraper_db5432 (internal)PostgreSQL database
scraper_engine5001 (internal)Main engine - scrapes sites
scraper_api8000REST API + Swagger docs
scraper_webui3000Web interface
scraper_alerts-Discord notifications

📡 API Examples

# Get all products
curl -H "X-API-Key: ${API_KEY}" http://localhost:8000/products

# Search products
curl -H "X-API-Key: ${API_KEY}" "http://localhost:8000/products?search=RTX"

# Get price drops
curl -H "X-API-Key: ${API_KEY}" "http://localhost:8000/deals?min_drop_percent=10"

# Export to CSV
curl -H "X-API-Key: ${API_KEY}" http://localhost:8000/export/csv > products.csv

📊 Project Status

VersionVersion
Status✅ Production Ready
Last UpdatedLast Commit

📝 License

MIT - see LICENSE


Created by blixten85 🚀