diff --git a/project/README/README.md b/project/README/README.md new file mode 100644 index 0000000..0b0519e --- /dev/null +++ b/project/README/README.md @@ -0,0 +1,113 @@ +# 数据爬虫系统 - 期末作业项目 + +## 项目概述 + +这是一个完整的 Java 爬虫项目,实现了 MVC 架构、Command 模式、Strategy 模式,包含自定义异常体系,提供了数据爬取、存储和可视化功能。 + +## 快速开始 + +### 1. 进入项目目录 +```bash +cd d:\期末作业 +``` + +### 2. 编译运行(简化版) +```bash +javac SimpleCrawler.java +java SimpleCrawler +``` + +### 3. 操作 +1. 输入 `4` 爬取所有数据 +2. 输入 `6` 生成可视化页面 +3. 打开浏览器查看 visualization/ 目录下的 HTML 文件 + +## 项目特性 + +### 已实现的功能 +- ✅ 完整的 MVC 架构 +- ✅ Command 模式设计 +- ✅ Strategy 模式实现 +- ✅ CSV 数据存储 +- ✅ HTML 可视化图表 +- ✅ 命令行交互界面 +- ✅ 模拟数据生成 + +### 设计模式 +- **MVC架构**:Model-View-Controller 分离 +- **Command模式**:所有操作封装为命令对象 +- **Strategy模式**:不同数据源使用不同策略 + +## 文件结构 + +### 简化版(推荐) +``` +期末作业/ +├── SimpleCrawler.java # 完整程序(一个文件) +├── data/ # CSV 数据文件 +└── visualization/ # HTML 可视化页面 +``` + +### 完整版(按包结构) +``` +期末作业/ +├── Main.java # 主程序入口 +├── command/ # 命令模式 +├── controller/ # 控制器 +├── model/ # 数据模型 +├── strategy/ # 策略模式 +├── repository/ # 数据访问 +├── exception/ # 自定义异常 +└── view/ # 视图层 +``` + +## 数据文件 + +### 1. 长沙天气 (changsha_weather_2026.csv) +- 日期、天气、最高温、最低温、风力 + +### 2. 地震数据 (earthquake_2026.csv) +- 时间、震级、纬度、经度、深度、地点 + +### 3. 新闻排行榜 (news_rank_202605.csv) +- 排名、标题、热度、链接 + +## 可视化页面 + +### weather.html +- 温度趋势折线图 +- 渐变背景色设计 + +### earthquake.html +- 震级柱状图 +- 详细数据表格 + +### news.html +- 新闻热度横向柱状图 +- 详细列表展示 + +## 文档 + +- **使用说明.md** - 详细使用说明和开发指南 +- **项目说明.md** - 项目详细介绍和类说明 + +## 技术栈 + +- Java 8+ +- Chart.js (图表库) +- HTML + CSS + JavaScript + +## 开发建议 + +如需集成真实的爬虫功能,请下载: +- Jsoup (HTML 解析) +- Apache HttpClient (HTTP 请求) + +## 许可证 + +本项目用于期末作业演示。 + +--- + +**祝使用愉快!** 🎉 +