| **PSP2.1**                              | **Personal Software Process Stages**    | **预估耗时（分钟）** | **实际耗时（分钟）** |
| :-------------------------------------- | --------------------------------------- | -------------------- | -------------------- |
| Planning                                | 计划                                    |           60           |          130            |
| · Estimate                              | · 估计这个任务需要多少时间              |          10            |          10           |
| Development                             | 开发                                    |           240           |          590            |
| · Analysis                              | · 需求分析 (包括学习新技术)             |         120             |         240             |
| · Design Spec                           | · 生成设计文档                          |         30             |          50            |
| · Design Review                         | · 设计复审                              |          10            |            10          |
| · Coding Standard                       | · 代码规范 (为目前的开发制定合适的规范) |         10             |           10           |
| · Design                                | · 具体设计                              |         10             |          10            |
| · Coding                                | · 具体编码                              |           240           |          300            |
| · Code Review                           | · 代码复审                              |           20           |           20           |
| · Test                                  | · 测试（自我测试，修改代码，提交修改）  |         30             |         60             |
| Reporting                               | 报告                                    |        20              |         30             |
| · Test Repor                            | · 测试报告                              |           20           |           20           |
| · Size Measurement                      | · 计算工作量                            |         10             |         10             |
| · Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划          |        1              |             2         |
|                                         | · 合计                                  |     751       |          902            |
  
  #二、任务要求的实现

##(2.1) 项目设计与技术栈
在完成任务的过程中，我将任务拆分成以下几个阶段：
需求分析
方案设计
数据爬取
数据清洗与处理
数据分析与统计
数据可视化
性能优化
结论报告
使用的技术栈
编程语言：Python
爬虫框架：requests、BeautifulSoup 和json
数据处理：pandas
数据库：MySQL 或 MongoDB（如果需要存储大量数据）
可视化工具：matplotlib、wordcloud
 性能分析：VS Code 性能分析插件

##(2.2) 爬虫与数据处理

业务逻辑：
使用python访问多个主流网站并获取与“巴黎奥运会”相关的弹幕数据。
对爬取到的弹幕数据进行清洗和过滤，提取出与 AI 相关的弹幕。
数据分析：统计弹幕中每个关键词出现的次数。

代码设计过程：
实现网页数据的爬取，数据的清洗和关键词提取，最后统计每个关键词的出现频率并生成统计报告。
关键算法说明：

使用 any() 函数检查弹幕中是否包含 AI 相关关键词

使用 Counter库进行频率统计。

##(2.3) 数据统计接口部分的性能改进

性能改进思路：

将数据处理部分的循环由串行改为并行处理（使用 multiprocessing 库）。
优化数据库读写操作，减少多余的 I/O 操作。
使用缓存技术加速重复查询。
性能分析工具：使用了 VS Code 自带的性能分析工具，找到了数据处理部分的瓶颈，并进行了优化。

性能分析图：可以在性能分析工具中生成函数调用栈和消耗时间的报告。

##(2.4) 数据结论的可靠性
结论：

关于巴黎奥运会的AI弹幕，主要集中于'AI给运动员带来的帮助'，例如AI能帮助运动员训练

数据依据：

基于爬取到弹幕数据，通过关键词统计得出结论。
##(2.5) 数据可视化界面的展示
https://file.learnerhub.net/tinymce-image-1726416882778--%E8%AF%8D%E4%BA%91%E5%9B%BE.png
https://file.learnerhub.net/tinymce-image-1726416966952--image.png
https://file.learnerhub.net/tinymce-image-1726417003114--image.png
#三、心得体会
通过这一次的个人编程作业，我对python关于数据爬取的库函数有了深刻的理解，同时我也理解了一个项目从头到尾的开发流程，爬取多个视频的方法我寻找了很久才理解可以通过json来实现，该项目也让我了解到了自身的不足，之前只会根据题目要求去完成代码，现在突然看到这个题目会有些手足无措，但冷静下来分析过后，通过对像request库，panda库这些库的学习，还是顺利完成了此项目
