1 changed files with 113 additions and 0 deletions
@ -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 请求) |
|||
|
|||
## 许可证 |
|||
|
|||
本项目用于期末作业演示。 |
|||
|
|||
--- |
|||
|
|||
**祝使用愉快!** 🎉 |
|||
|
|||
Loading…
Reference in new issue