|
|
|
|
| **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库这些库的学习,还是顺利完成了此项目
|