Skip to content

bwandmff/monitor

Repository files navigation

Monitor - 互联网舆情监测系统 📊

一个基于Node.js开发的全天候互联网舆情监测系统,支持关键词监控和指定网址监控,并提供可视化大屏展示。

✨ 功能特点

  • 🎯 关键词监控: 根据用户提供的关键词自动搜索相关网页
  • 📍 指定网址监控: 监控特定网站内容变化
  • 📈 舆情分析: 情感分析、热度计算、趋势分析
  • 🖥️ 大屏展示: 实时可视化展示舆情数据
  • 全天候监测: 支持定时任务和实时监控
  • 📡 RESTful API: 提供完整API接口
  • 🔔 预警系统: 重要舆情自动告警
  • 🔄 实时更新: WebSocket实时推送数据更新
  • 📊 数据可视化: 情绪分析图表、热度趋势、关键词分布
  • 🎨 美观界面: 现代化设计,响应式布局

🚀 快速开始

安装依赖

npm install

启动服务

npm start

或者直接运行:

node server_clean.js

然后访问 http://localhost:3000

开发模式

npm run dev

📁 项目结构

monitor/
├── src/
│   ├── crawler.js         # 爬虫核心(增强版)
│   ├── monitor.js         # 监控调度器
│   ├── analyzer.js        # 文本分析器
│   ├── database.js        # 数据存储
├── public/
│   ├── css/
│   │   └── dashboard.css  # 大屏样式
│   └── js/
│       └── chart.js       # 图表库
├── data/                  # 存储监测数据
├── server_clean.js        # 主服务入口(含WebSocket实时通信)
└── package.json

🛠️ 核心功能

爬虫模块

  • 关键词匹配与统计
  • 网页内容抓取与解析
  • 链接提取功能
  • 错误处理与重试机制

监控模块

  • 任务管理系统(添加、删除、查询)
  • 定时任务调度(支持实时、小时、每日等频率)
  • 立即执行功能

分析模块

  • 情感分析(正面/负面/中性)
  • 热度计算算法
  • 关键词提取与统计
  • 趋势分析

数据库模块

  • 舆情数据存储
  • 监控任务存储
  • 按关键词/时间范围查询

Web界面

  • 大屏实时展示
  • 实时统计数据
  • 数据可视化图表
  • 任务管理界面
  • WebSocket实时通信

📡 API 接口

添加监控任务(立即执行)

POST /api/monitor
Content-Type: application/json

{
  "type": "keyword",     // 或 "url"
  "target": "关键词或网址",
  "frequency": "hourly"  // hourly, daily, real-time
}

获取系统统计

GET /api/stats

网页抓取

GET /api/crawl?url=URL
GET /api/crawl?url=URL&keyword=KEYWORD

批量抓取

POST /api/crawl
Content-Type: application/json

{
  "urls": ["url1", "url2", "..."],
  "keywords": ["keyword1", "keyword2"]
}

获取热门关键词

GET /api/keywords

获取历史数据

GET /api/history

获取可视化数据

GET /api/visualize

提取链接

GET /api/links?url=URL

WebSocket实时通信

/ws

📊 大屏界面功能

  • 实时统计面板: 显示活跃任务数、数据条目、情绪比例、热度指数
  • 监控任务管理: 添加关键词监控或网址监控任务
  • 热门关键词展示: 实时显示最热门的关键词
  • 数据可视化: 情绪分析图表、热度趋势图表、关键词分布饼图
  • 历史数据表格: 显示监测到的详细历史数据
  • 手动测试区域: 可以手动测试抓取功能
  • 实时状态指示: LIVE标识显示实时更新状态
  • 桌面通知: 任务执行完成的通知提醒

⚠️ 注意事项

  1. 请遵守目标网站的 robots.txt 规则
  2. 合理设置请求间隔,避免对目标服务器造成压力
  3. 仅用于合法合规的舆情监测
  4. 遵守相关法律法规
  5. 请勿用于任何非法用途

🤝 贡献

欢迎提交 Issue 和 Pull Request 来帮助改进项目。

📄 License

MIT License

About

Monitor - 互联网舆情监测系统 📊

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors