Skip to main content

CLI tool to monitor web page updates

Project description

Page Update Monitor

A simple CLI tool to monitor web page updates.

Register any web page and check whether it has changed since the last time you checked. You can monitor the entire page or specific elements using CSS selectors.


Features

  • Monitor full web pages for changes
  • Monitor specific elements using CSS selectors
  • Simple and intuitive CLI
  • Lightweight (no browser required)
  • Local JSON storage (no database needed)

Installation

Clone the repository:

git clone https://github.com/yourname/page-update-monitor.git
cd page-update-monitor

Setup (Recommended)

Create a virtual environment:

python -m venv .venv

Activate it:

Windows:

.venv\Scripts\activate

Linux / macOS:

source .venv/bin/activate

Install dependencies:

pip install -r requirements.txt

Usage

All commands are executed via:

python run.py [COMMAND]

You can also check the version globally:

python run.py --version
python run.py -v

Commands

See help

python run.py --help

Check for updates

python run.py check

Checks all registered websites and reports changes.


Add a website

python run.py add

You will be prompted to enter:

  • Site name

  • URL

  • Mode:

    • full (default): monitor the entire page
    • selector: monitor a specific HTML element

If you choose selector mode, enter a CSS selector.

Examples:

#main
.content

The tool will validate the selector and show a preview:

[OK] #main -> <content preview>...

List websites

python run.py list

With details:

python run.py list -d

Remove a website

python run.py remove [name]

Alias:

python run.py rm [name]

Example:

python run.py rm example-site

Show version

python run.py version

Or:

python run.py --version
python run.py -v

How It Works

  • Fetches HTML using requests
  • Parses content with BeautifulSoup
  • Stores previous results locally
  • Compares current content with the last snapshot

If a difference is detected, it reports an update.


Data Storage

Registered sites are stored in:

data/sites.json

Example Workflow

python run.py add
python run.py list
python run.py check

Requirements

  • Python 3.10+
  • See requirements.txt for full dependencies

Dependencies

  • typer
  • requests
  • beautifulsoup4
  • rich

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

page_update_monitor-1.0.0.tar.gz (7.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

page_update_monitor-1.0.0-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

Details for the file page_update_monitor-1.0.0.tar.gz.

File metadata

  • Download URL: page_update_monitor-1.0.0.tar.gz
  • Upload date:
  • Size: 7.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for page_update_monitor-1.0.0.tar.gz
Algorithm Hash digest
SHA256 12b6ab83c95d59cc61dfea47046ffbe2f8d72b97a15d68dfa258b8ebab0a04dd
MD5 59c1a7798eff950d180f37367e15aec7
BLAKE2b-256 365232d749e0c3eb52fc1058f26e6ed5de3c49d06d0d8d838b70bbb7441ac844

See more details on using hashes here.

File details

Details for the file page_update_monitor-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for page_update_monitor-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 eaebf27707fa2087dad48fd956d8c8a5b6422a3cb27b2b3a93c13b308ca63f93
MD5 d419bb81ba268d02652e8798ab43d292
BLAKE2b-256 06a74a0fd8e482818bcb6fb090f0fe555a059829c3ee2f6e4674da83aef6c6be

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page