Browse Source

上传文件至 'project/README'

main
duyumeng 3 weeks ago
parent
commit
c71d7c6099
  1. 113
      project/README/README.md

113
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 请求)
## 许可证
本项目用于期末作业演示。
---
**祝使用愉快!** 🎉
Loading…
Cancel
Save