Monitor for Microcenter's Bundles Page
Find a file
2026-04-13 18:14:11 -07:00
.gitignore added .gitignore 2026-04-13 18:14:11 -07:00
email_config_sample.json Broke out config and watchlist, fixed searching to work off watchlsit, added db records 2026-04-13 17:32:38 -07:00
microcenter_monitor.py clean up db calls, unlink from tmp files, modernize logging 2026-04-13 17:47:41 -07:00
README.md Broke out config and watchlist, fixed searching to work off watchlsit, added db records 2026-04-13 17:32:38 -07:00
watchlist_sample.json Broke out config and watchlist, fixed searching to work off watchlsit, added db records 2026-04-13 17:32:38 -07:00

Microcenter-Monitor

Monitors the Microcenter AMD Bundle & Save page for price drops on AMD CPU bundles and sends alerts via email and/or desktop notifications when a bundle hits your target price.

Features

  • Dynamic Watchlist: Track any CPU by adding it to watchlist.json. The script automatically detects bundles matching your keywords.
  • SQLite History: Every price check is logged to a local database (mc_bundle_history.db), allowing for long-term price tracking.
  • Smart Alerts: Notifications are only sent when a price drops to or below your target and has changed since the last check, preventing alert fatigue.
  • History Reporting: Generate and email CSV reports of price trends using the --report flag.
  • Anti-Detection: Uses curl_cffi with Chrome TLS impersonation to bypass bot detection.

Requirements

  • Python 3.10+
  • curl_cffi — Chrome TLS impersonation
  • beautifulsoup4 — HTML parsing
  • plyer — Desktop notifications (optional)

Installation & Setup

  1. Clone the repository
  2. Set up a virtual environment
    python3 -m venv .venv
    source .venv/bin/activate
    pip install curl_cffi beautifulsoup4 plyer
    
  3. Configure the monitor The configuration files are not tracked in git for security. Copy the sample files to create your own:
    cp watchlist_sample.json watchlist.json
    cp email_config_sample.json email_config.json
    
  4. Edit your configurations
    • watchlist.json: Set target prices for CPU models (e.g., "9800X3D": 600.00).
    • email_config.json: Enter your SMTP server details and credentials.

Usage

Run Monitor

Check current prices and trigger alerts:

python3 microcenter_monitor.py

Generate Reports

Export price history to a CSV file and email it as an attachment:

# Full history
python3 microcenter_monitor.py --report all

# Last 30 days
python3 microcenter_monitor.py --report 30d

# Last year
python3 microcenter_monitor.py --report 365d

Automation

To run the monitor every 30 minutes, add it to your crontab:

*/30 * * * * /path/to/your/.venv/bin/python3 /path/to/microcenter_monitor.py >> ~/mc_monitor.log 2>&1