浏览器插件(推荐)
网页变更监测工具
- Distill Web Monitor:功能最全面,支持复杂监控
- Visualping:直观易用,支持视觉对比
- Page Monitor:开源插件,轻量级
- Check4Change:简单易用,免费
插件使用步骤
- 访问 Chrome 网上应用店
- 搜索上述插件并安装
- 访问要监控的网页
- 点击插件图标,选择监控区域
- 设置检查频率和通知方式
开发者工具监控
控制台实时监控
// 监控DOM变化
const observer = new MutationObserver((mutations) => {
mutations.forEach((mutation) => {
console.log('DOM发生变化:', mutation);
});
});
observer.observe(document.body, {
childList: true,
subtree: true,
attributes: true
});
网络请求监控
- 打开开发者工具(F12)
- 切换到 Network 标签页
- 勾选 Preserve log
- 观察请求变化
编程方式监控
Python + Selenium
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("https://example.com")
last_html = driver.page_source
while True:
time.sleep(30) # 每30秒检查一次
current_html = driver.page_source
if current_html != last_html:
print("页面已更新!")
last_html = current_html
Node.js + Puppeteer
const puppeteer = require('puppeteer');
async function monitorPage(url, interval = 30000) {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto(url);
let previousContent = await page.content();
setInterval(async () => {
await page.reload();
const currentContent = await page.content();
if (previousContent !== currentContent) {
console.log('页面已更新!');
previousContent = currentContent;
}
}, interval);
}
实用技巧
监控特定元素
// 监控特定元素内容变化
const targetElement = document.querySelector('#target-id');
const observer = new MutationObserver((mutations) => {
console.log('目标元素已更新:', targetElement.textContent);
});
observer.observe(targetElement, {
characterData: true,
childList: true,
subtree: true
});
价格监控示例
// 监控商品价格变化
function monitorPrice(selector) {
let lastPrice = document.querySelector(selector).textContent;
setInterval(() => {
const currentPrice = document.querySelector(selector).textContent;
if (currentPrice !== lastPrice) {
alert(`价格变化: ${lastPrice} → ${currentPrice}`);
lastPrice = currentPrice;
}
}, 60000); // 每分钟检查一次
}
注意事项
- 频率限制:避免过于频繁的请求
- 网站规则:遵守 robots.txt 和服务条款
- 性能影响:长时间监控可能消耗资源
- :SPA网站需要特殊处理
- 反爬措施:部分网站有反爬机制
推荐方案
- 简单需求:使用 Visualping 或 Page Monitor 插件
- 开发需求:使用 MutationObserver API
- 自动化需求:使用 Python/Selenium
- 服务器监控:使用 Node.js + Puppeteer
选择最适合你需求的方法,普通用户推荐使用浏览器插件,开发者可根据具体情况选择编程方案。

版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。