diff --git a/README.md b/README.md new file mode 100644 index 0000000..40109d3 --- /dev/null +++ b/README.md @@ -0,0 +1,148 @@ +# 2024巴黎奥运会视频弹幕分析挖掘 +这个存储库包含了2024巴黎奥运会视频弹幕分析挖掘的代码,这是一种网络爬虫方法,用于从B站爬取相关视频弹幕,并将数据进行词云可视化分析,最终得到统计结论。 + + + +## 背景 + +2024年第三十三届夏季奥林匹克运动会(2024 Summer Olympics),一般称为2024巴黎奥运会(Paris 2024),于2024年7月26日至8月11日在法国巴黎举行,此次为法国相隔100年后再次举办夏季奥运会。巴黎成为继英国伦敦后,第二个三度举办夏季奥运会的城市,前两次分别在1900年及1924年举办。最终,美国代表团以40枚金牌、126枚奖牌,坐拥奖牌榜首位;中国代表团以40枚金牌、91枚奖牌排名第二;东道主法国代表团则拿下16枚金牌、64枚奖牌位列第五。本届是现代夏季奥运会历史以来,第二次有多于一个国家的代表团(美国和中国),获得最多且同样数量的金牌。 + +2024巴黎奥运会,这场体育盛宴不仅承载着运动员的汗水与梦想,更是工业数字化浪潮的壮阔展示。在这场跨越国界的竞技中,数字科技如同隐形的魔术师,悄然编织着赛事的每一个细节,从幕后到台前,从组织策划到观众体验,全方位塑造着奥运会的面貌,让我们见证了一个科技与体育深度融合的新时代。 + + + +## 功能 + +该代码使用爬虫在B站爬取关键词为“2024巴黎奥运会”的综合排序前300的所有视频弹幕,并统计AI技术应用方面的每种弹幕数量,输出数量排名前8的弹幕,同时对采集的所有数据进行词云可视化分析,制作词云图,最后通过统计数据得出当前B站用户对于2024巴黎奥运会应用AI技术的主流看法。 + +- **视频弹幕搜索**:从指定平台获取视频弹幕。 +- **弹幕数据分析**:对获取的弹幕进行分析和计数。 +- **可视化结果**:生成词云图以展示分析结果。 +- **性能分析**:利用性能分析工具对代码性能进行评估。 + + + +## 目录结构 + +``` +102201539/ +│ +├── data/ # 存放数据文件的目录 +│ ├── all_danmakus.xlsx # 综合排序前300的所有视频弹幕 +│ ├── top_danmakus.xlsx # 与赛事应用AI相关的数量排名前8的弹幕 +│ └── result.png # 词云图 +│ +├── tests/ # 存放测试代码的目录 +│ ├── init.py # 将 tests 目录视为包 +│ ├── test_main.py # 对 main.py 中功能的单元测试 +│ ├── test_analyse.py # 对 analyse.py 中功能的单元测试 +│ └── test_visualization.py # 对 visualization.py 中功能的单元测试 +│ +├── main.py # 主程序文件,包含程序的入口和主要逻辑 +├── analyse.py # 分析模块,处理弹幕数据的功能 +├── visualization.py # 可视化模块,用于生成图表和可视化结果 +├── profiler.py # 性能分析模块,用于分析程序性能 +├── china_map.png # 中国地图图像,用于制作词云图样式 +├── README.md # 项目说明文档 +├── requirements.txt # 项目依赖的 Python 包列表 +└── .gitignore # Git 忽略文件 +``` + + + +## 安装 + +### 1. 克隆仓库: +``` + git clone https://code.educoder.net/p64wa3kxm/102201539.git + cd 102201539 +``` + +### 2.创建虚拟环境: +``` +python -m venv venv +source venv/bin/activate # 在 Windows 上使用 venv\Scripts\activate +``` + +### 3.安装依赖: +``` +beautifulsoup4==4.12.3 +jieba==0.42.1 +matplotlib==3.8.0 +numpy==1.18.1 +pandas==2.2.2 +pillow==10.4.0 +requests==2.32.3 +wordcloud==1.9.3 +``` +你可以使用: +``` +pip install -r requirements.txt +``` + + + +## 使用说明 + +### 1.获取视频弹幕(main.py) +``` +python main.py +``` +输出结果: +综合排序前300的所有视频的弹幕数据被保存到 all_danmakus.xlsx 文件中。 + +### 2.分析视频弹幕(analyse.py) +``` +python analyse.py +``` +输出结果: +与赛事应用AI技术相关的排名前8的弹幕数据被保存到 top_danmakus.xlsx 文件中。 + +### 3.可视化(visualization.py) +``` +python test_visualization.py +``` +输出结果: +词云图保存到 wordcloud.png,可以使用图像查看工具查看。 + + + +## 性能分析 +首先确保你已经安装了 snakeviz 模块,你可以使用: +``` +pip install snakeviz +``` +使用 cProfile 运行性能分析模块,并生成性能分析文件output.prof: +``` +python -m cProfile -o output.prof profiler.py +``` +可视化性能分析结果: +``` +snakeviz output.prof +``` +最后你可以打开浏览器查看输出。 + + + +## 单元测试 + +如果你只想运行测试而不关心覆盖率,你可以使用: +``` +python -m unittest discover -s tests +``` +如果你希望运行测试并收集覆盖率信息,首先确保你已经安装了 coverage 模块,你可以使用: +``` +pip install coverage +``` +运行测试并收集覆盖率: +``` +coverage run -m unittest discover -s tests +``` +生成终端输出的覆盖率报告: +``` +coverage report +``` +生成 HTML 格式的覆盖率报告: +``` +coverage html +```