# MonitorSite **Repository Path**: kocher2/MonitorSite ## Basic Information - **Project Name**: MonitorSite - **Description**: 监视网页变换并生产对应报告。 - **Primary Language**: C# - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-22 - **Last Updated**: 2026-05-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MonitorSite # MonitorSite - 网站内容变更监控工具 [![MIT License](https://img.shields.io/badge/License-MIT-green.svg)](https://choosealicense.com/licenses/mit/) [![.NET](https://img.shields.io/badge/.NET-8.0-blue.svg)](https://dotnet.microsoft.com/) MonitorSite 是一个用 C# 编写的轻量级网站监控工具,专门用于定时监控政府、企业等网站的公告页面,检测内容变更并生成可视化报告。特别针对招聘公告、通知公告等表格数据的变更监控进行了优化。 ## ✨ 主要功能 - 🔍 **智能监控** - 支持自定义策略提取网页中的表格或列表内容 - ⏰ **定时任务** - 每天 10:00 和 16:00 自动检查,18:00 自动保存报告 - 📊 **可视化报告** - 自动生成美观的 HTML 报告和 CSV 数据文件 - 🔔 **变更高亮** - 新增内容红色标记,招聘类公告橙色高亮闪烁 - 🖥️ **交互式控制台** - 支持手动触发监控、查看状态、生成报告等操作 - 💾 **数据持久化** - 自动保存监控历史,重启程序不丢失数据 - 🔌 **策略模式** - 轻松扩展,支持不同网站结构的定制解析 ## 📸 界面预览 ![输入图片说明](%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20260422120649_394_10.png) 生成的 HTML 报告会高亮显示新增内容,招聘类公告会以橙色背景和闪烁动画突出显示。 ## 🚀 快速开始 ### 环境要求 - [.NET 8.0 SDK](https://dotnet.microsoft.com/download/dotnet/8.0) 或更高版本 - Windows / Linux / macOS ### 安装与运行 1. **克隆项目** ```bash git clone https://gitee.com/kocher2/MonitorSite.git cd MonitorSite 2、还原依赖包 dotnet restore ### 配置监控网站 编辑项目根目录下的 website.txt 文件,每行一个要监控的网址: text https://www.example.com/notice/ https://www.example.com/recruitment/ 运行程序 bash dotnet run 使用说明 程序启动后,在控制台输入对应数字即可执行操作: 命令 功能 1 立即对所有配置的网站执行一次监控检查 2 根据当前监控数据生成 HTML 和 CSV 报告文件 3 快速查看各网站的监控状态摘要 4 以表格形式展示所有公告的详细信息 5 查看历史变更记录 6 手动保存监控数据到 JSON 文件 7 清空控制台屏幕 0 安全退出程序 📁 输出文件说明 程序运行后会在项目目录下生成以下文件: 文件/目录 说明 monitor_data.json 监控数据持久化文件,包含所有历史记录 reports/report_*.html 按时间命名的 HTML 报告 reports/report_latest.html 最新的 HTML 报告(覆盖保存) reports/report_*.csv 按时间命名的 CSV 数据文件 reports/report_latest.csv 最新的 CSV 数据文件 change_reports/change_report_*.txt 每日变更摘要文本文件 ### 🔧 扩展新网站 方法一:使用通用策略(适合简单页面) 如果目标网站的通知公告使用标准的 HTML 标签,只需在 website.txt 中添加网址即可。系统会使用通用提取逻辑。 方法二:自定义策略(适合复杂页面) 如果网站使用