You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

5.2 KiB

濒危动物信息爬虫系统 - 项目总结


一、功能测试

功能 测试结果 备注
CLI命令行界面 通过 成功实现交互式命令行界面,支持8种命令
多数据源切换 通过 支持china/wwf/iucn三个数据源动态切换
数据爬取功能 通过 每个数据源可爬取5条以上动物数据
数据列表展示 通过 格式化展示动物名称、学名、类别、保护状态、栖息地、种群数量
数据文件保存 通过 支持将数据保存为文本文件,格式清晰
保护状态饼图生成 通过 生成PNG格式饼图,展示各保护等级分布
种群数量柱状图生成 通过 生成PNG格式柱状图,展示各动物种群数量
异常处理机制 通过 完整异常体系,错误提示清晰
策略模式实现 通过 策略接口+上下文+三个实现类,符合设计模式
Command模式实现 通过 命令接口+六个命令实现类,支持命令扩展
MVC架构实现 通过 Controller、View、Model三层分离
程序打包运行 通过 生成包含依赖的可执行JAR包,运行正常

二、项目总结

2.1 项目概述

本项目实现了一个基于Java的濒危动物信息爬虫系统,采用CLI命令行界面,结合MVC架构、策略模式、Command模式和完整异常体系,实现了多数据源爬取、数据管理和可视化展示功能。

2.2 完成的功能

模块 功能 状态
架构设计 MVC三层架构 已完成
设计模式 策略模式(多数据源切换) 已完成
设计模式 Command模式(命令封装) 已完成
异常处理 自定义异常体系(6个异常类) 已完成
数据源 中国濒危动物红色名录 已完成
数据源 WWF世界自然基金会 已完成
数据源 IUCN红色名录 已完成
可视化 保护状态分布饼图 已完成
可视化 种群数量柱状图 已完成
数据持久化 文本文件保存 已完成

2.3 技术亮点

  1. 架构设计合理:采用MVC架构,实现关注点分离,代码结构清晰

  2. 设计模式应用得当

    • 策略模式:封装不同数据源的爬取逻辑,支持动态切换
    • Command模式:将用户操作封装为独立命令,便于扩展
  3. 异常体系完善:定义了6个自定义异常类,覆盖网络、解析、存储、命令、数据源等各类异常场景

  4. 代码可扩展性强:通过接口定义实现松耦合,添加新数据源只需实现策略接口

  5. 用户体验友好:提供完善的命令帮助和错误提示

2.4 运行方式

# 编译打包
cd /Users/thea/Desktop/大一/下学期/java/AnimalCrawler
mvn clean package

# 运行程序
java -jar target/AnimalCrawler-1.0-SNAPSHOT-jar-with-dependencies.jar

# 命令示例
set china      # 切换数据源
crawl          # 爬取数据
list           # 查看数据
save data.txt  # 保存数据
visualize      # 生成图表
exit           # 退出程序

2.5 输出文件

文件类型 文件名 说明
可执行JAR AnimalCrawler-1.0-SNAPSHOT-jar-with-dependencies.jar 项目主程序
数据文件 animals.txt(用户自定义) 动物数据报告
图表文件 status_distribution.png 保护状态分布饼图
图表文件 population_chart.png 种群数量柱状图

2.6 项目价值

  1. 教育意义:展示了Java面向对象编程的核心概念(封装、继承、多态、抽象类、接口)
  2. 设计模式实践:完整实现了MVC、策略模式、Command模式
  3. 实用功能:提供濒危动物信息的爬取、管理和可视化能力
  4. 可扩展性:架构设计支持后续功能扩展和数据源增加

2.7 后续改进方向

  1. 增加真实爬虫:对接真实API或网页爬取(需处理反爬机制)
  2. 数据库持久化:引入数据库存储数据
  3. GUI界面:开发图形化用户界面
  4. 数据统计分析:增加数据统计和分析功能
  5. 命令撤销功能:利用Command模式实现操作撤销

三、项目验收

3.1 验收标准

验收项 要求 完成情况
CLI界面 实现交互式命令行 已完成
MVC架构 三层分离 已完成
策略模式 支持多数据源切换 已完成
Command模式 命令封装与执行 已完成
异常体系 完整异常处理 已完成
数据源数量 ≥ 3个 已完成(3个)
数据保存 保存到文件 已完成
可视化 生成图表 已完成(2种图表)
程序运行 完整运行不出错 已完成

3.2 验收结论

本项目已完成所有预定目标,实现了CLI+MVC+Command模式+策略模式+异常体系的完整架构,成功爬取3个数据源的数据并生成可视化图表,程序运行稳定。


项目状态 已完成
完成日期:2026年5月
版本:v1.0