返回 Skill 列表
extension
分类: 数据与分析无需 API Key

Web Monitor

使用 CSS 选择器定位网页内容,通过哈希检测变化并集成通知,适用于价格追踪、内容监控等。

person作者: dinghaibinhubclawhub

Web Monitor — Page Change Detection & Alerts

Track web pages for content changes using hash-based comparison. Supports CSS selector extraction, interval-based monitoring, change history, and configurable notification delivery.

Quick Start

# Compare current page with previous snapshot
python scripts/monitor.py --url https://example.com --compare state.json

# Monitor with a CSS selector
python scripts/monitor.py --url https://example.com --selector ".price" --compare state.json

Usage

python scripts/monitor.py --url URL [OPTIONS]

Options:
  --url URL              Page URL to monitor (required)
  --selector SELECTOR    CSS selector to extract specific content
  --compare FILE         Compare with previous snapshot from FILE
  --state-file FILE      Save current state to FILE (default: state.json)
  --interval SEC         Auto-monitor at interval (seconds)
  --notify COMMAND       Command to run on change detected
  --json                 Output as JSON
  --max-retries N        Connection retries on failure (default: 3)

Examples

# Simple page check
python scripts/monitor.py --url https://example.com/page --compare state.json

# Monitor a price element
python scripts/monitor.py --url https://shop.example.com/product \
  --selector ".product-price" --compare price-state.json

# Continuous monitoring
python scripts/monitor.py --url https://example.com \
  --interval 3600 --compare state.json --notify "echo 'Changed!'"

# JSON output for pipeline
python scripts/monitor.py --url https://example.com --json

State File Format

{
  "url": "https://example.com/page",
  "selector": ".price",
  "hash": "sha256hash...",
  "timestamp": "2026-01-15T14:30:00Z"
}

Features

  • Hash-based change detection — reliable content comparison
  • CSS selector extraction — monitor specific page sections
  • State persistence — stores snapshots for comparison
  • Interval monitoring — automatic periodic checks
  • Notification hooks — trigger commands on changes
  • No external dependencies — uses only Python stdlib
  • SSL/HTTPS support — secure page fetching
  • JSON output — structured data for automation