Skip to content

Commit cc1fd25

Browse files
committed
v1.0.0
1 parent 4e07aa7 commit cc1fd25

40 files changed

Lines changed: 10764 additions & 59 deletions
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
name: Release
2+
permissions:
3+
contents: write
4+
on:
5+
push:
6+
tags:
7+
- "v*"
8+
jobs:
9+
build:
10+
name: 构建Windows可执行文件
11+
runs-on: windows-latest
12+
steps:
13+
- name: 检出代码
14+
uses: actions/checkout@v4
15+
16+
- name: 设置Python环境
17+
uses: actions/setup-python@v5
18+
with:
19+
python-version: "3.10"
20+
cache: "pip"
21+
22+
- name: 安装依赖
23+
run: |
24+
python -m pip install --upgrade pip
25+
pip install poetry
26+
poetry config virtualenvs.create false
27+
poetry install
28+
29+
- name: 获取版本号
30+
id: get_version
31+
shell: bash
32+
run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_ENV
33+
34+
- name: 构建可执行文件
35+
env:
36+
PYTHONIOENCODING: utf-8
37+
run: poetry run cxfreeze build
38+
39+
- name: 创建ZIP压缩包
40+
run: |
41+
# 创建英文名文件夹
42+
New-Item -ItemType Directory -Force -Path "bilibili-comment-analyzer_v${{ env.VERSION }}"
43+
# 复制构建文件到文件夹中
44+
Copy-Item -Path "build/exe.win-*/*" -Destination "bilibili-comment-analyzer_v${{ env.VERSION }}/" -Recurse
45+
# 压缩为中文名的zip文件
46+
Compress-Archive -Path "bilibili-comment-analyzer_v${{ env.VERSION }}" -DestinationPath "bilibili-comment-analyzer_v${{ env.VERSION }}_windows.zip"
47+
48+
- name: 创建Release
49+
uses: softprops/action-gh-release@v1
50+
with:
51+
tag_name: ${{ github.ref }}
52+
name: 哔哩哔哩评论观察者 v${{ env.VERSION }}
53+
body: |
54+
### 📥 下载使用
55+
56+
点击下方附件下载应用程序,解压后双击文件夹内的 `哔哩哔哩评论观察者.exe` 即可运行。
57+
draft: false
58+
prerelease: false
59+
files: |
60+
bilibili-comment-analyzer_v${{ env.VERSION }}_windows.zip
61+
env:
62+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
**/__pycache__/
2+
.vscode/
3+
_data/
4+
build/
5+
poetry.lock

README.md

Lines changed: 6 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
[![Platform](https://img.shields.io/badge/platform-Windows%20%7C%20macOS%20%7C%20Linux-lightgrey.svg)](https://github.com/sansan0/bilibili-comment-analyzer)
99

1010
</div>
11-
B 站(bilibili)评论数据分析下载器,提供完整的评论采集与可视化分析功能。支持单视频和 UP 主批量评论下载,具备评论地区分布地图生成、词云分析等功能。内置多维度数据筛选、本地 HTTP 服务器等特性,为 B 站内容创作者、数据分析师和吃瓜群众提供强大的评论数据洞察工具。
11+
B站(哔哩哔哩 bilibili)评论数据分析器,提供完整的评论采集与可视化分析功能。支持单视频和UP主批量评论下载,具备评论地区分布地图生成、词云分析、图片提取等功能。内置智能反爬策略、多维度数据筛选、本地HTTP服务器等特性,为B站内容创作者、数据分析师和吃瓜群众提供强大的评论数据洞察工具。
1212

1313
## 📋 目录
1414

@@ -17,25 +17,24 @@ B 站(bilibili)评论数据分析下载器,提供完整的评论采集与
1717
- [⚠️ 使用声明](#️-使用声明)
1818
- [🚀 快速开始](#-快速开始)
1919
- [📖 使用指南](#-使用指南)
20-
- [⚙️ 配置说明](#️-配置说明)
2120
- [📊 数据分析功能](#-数据分析功能)
2221
- [📷 功能截图](#-功能截图)
2322
- [❓ 常见问题](#-常见问题)
24-
- [📞 交流方式](#-交流方式)
23+
- [💬 问题反馈](#-问题反馈)
2524
- [🙏 致谢](#-致谢)
2625
- [📜 许可证](#-许可证)
2726

2827
## 🔄 更新日志
2928

30-
### v1.0.0 (2025-06-03)
29+
### v1.0.0 (2025-06-04)
3130

3231
**🎉 首次发布**
3332

3433
## ✨ 核心功能
3534

3635
### 🎯 数据采集
3736

38-
- **单视频评论下载**:支持 BV 号输入,获取完整评论数据
37+
- **单视频评论下载**:支持 BV 号,ep 号,ss 号输入,获取完整评论数据
3938
- **UP 主批量下载**:批量获取指定 UP 主的多个视频评论
4039
- **图片资源下载**:自动提取并下载评论中的图片资源(评论区可能存在几个 GB 的图片数据,谨慎打开..)
4140

@@ -134,17 +133,6 @@ poetry run python run.py
134133
- **【✅ 浏览地图】**:查看地区分布热力图
135134
- **【✅ 浏览词云】**:查看交互式词云分析
136135

137-
## ⚙️ 配置说明
138-
139-
### 🔧 基础设置
140-
141-
| 配置项 | 说明 | 默认值 | 建议值 |
142-
| ------------ | ---------------- | -------------------- | ------------ |
143-
| **Cookie** | B 站登录凭证 || 扫码登录获取 |
144-
| **输出目录** | 数据保存位置 | `~/.BiCoDown/output` | 自定义路径 |
145-
| **评论排序** | 默认排序方式 | 按点赞数 | 根据需求选择 |
146-
| **生成地图** | 是否自动生成地图 || 建议开启 |
147-
148136
## 📊 数据分析功能
149137

150138
### 🗺️ 地区分布地图
@@ -154,7 +142,6 @@ poetry run python run.py
154142
- 基于评论者 IP 属地生成中国省份热力图
155143
- 支持按评论数、用户数、点赞数多维度展示
156144
- 交互式地图,支持缩放和悬停查看详情
157-
- 自动识别和统计未匹配地区
158145

159146
**支持的地区维度**
160147

@@ -164,45 +151,13 @@ poetry run python run.py
164151
- ⚡ 男女用户比例
165152
- 🎯 用户等级分布
166153

167-
### ☁️ 词云分析
168-
169-
**智能分词功能**
170-
171-
- 使用 pkuseg 中文分词引擎
172-
- 自动过滤停用词和无意义词汇
173-
- 智能识别和保留表情符号
174-
- 支持自定义停用词表
175-
176154
**多维度筛选**
177155

178156
- 🌍 **按地区筛选**:查看特定地区用户的评论词云
179157
- 👤 **按性别筛选**:分析不同性别用户的关注点
180158
- 🏆 **按等级筛选**:了解不同等级用户的评论特点
181159
- 📈 **实时统计**:动态显示筛选后的数据统计
182160

183-
**可视化特性**
184-
185-
- 动态词云大小调整
186-
- 高频词汇突出显示
187-
- 支持词汇点击查看详情
188-
- 响应式设计,适配不同屏幕
189-
190-
### 📈 统计分析
191-
192-
**用户行为分析**
193-
194-
- 评论活跃度分布
195-
- 用户等级构成比例
196-
- 地域用户参与度对比
197-
- 性别比例统计
198-
199-
**内容质量分析**
200-
201-
- 高赞评论特征分析
202-
- 回复互动热度统计
203-
- 表情使用频率统计
204-
- 评论长度分布分析
205-
206161
## 📷 功能截图
207162

208163
### 主界面概览
@@ -248,17 +203,9 @@ A:B 站的 IP 属地数据可能包含一些特殊地区名称,程序会尽
248203
A:程序会自动过滤停用词、短词和无意义词汇。你可以查看停用词文件 **stopwords.txt** 进行自定义调整。
249204

250205
**Q:当前分词效果有些一般?**
251-
A:我默认打包了较小的模型,不然一个压缩包几百兆太大了,你可以访问 https://github.com/lancopku/pkuseg-python 下载 releases 中的模型,解压覆盖到 web 目录就行。
252-
253-
## 📞 交流方式
254-
255-
### 👨‍💻 作者信息
256-
257-
- **作者**:sansan
258-
- **GitHub**[@sansan0](https://github.com/sansan0)
259-
- **项目主页**[bilibili-comment-analyzer](https://github.com/sansan0/bilibili-comment-analyzer)
206+
A:我默认打包了较小的模型,不然一个压缩包几百兆太大了,你可以访问 https://github.com/lancopku/pkuseg-python 下载 releases 中的模型,推荐 [default_v2](https://github.com/lancopku/pkuseg-python/releases/download/v0.0.25/default_v2.zip) 模型,解压覆盖到 web 目录就行。
260207

261-
### 💬 社区交流与问题反馈
208+
## 💬 问题反馈
262209

263210
**扫码关注作者微信公众号,以支持作者的幸苦开发,也可以更快的反馈使用问题:**
264211

api/__init__.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
"""
2+
哔哩哔哩 API 模块
3+
提供与哔哩哔哩平台交互的核心功能
4+
"""
5+
6+
from .bilibili_api import (
7+
BilibiliAPI,
8+
sanitize_filename,
9+
extract_title_from_dirname,
10+
get_dir_name,
11+
parse_bilibili_url,
12+
extract_ep_id
13+
)
14+
from .crypto import sign_and_generate_url, bvid_to_avid, avid_to_bvid
15+
16+
__all__ = [
17+
'BilibiliAPI',
18+
'sanitize_filename',
19+
'extract_title_from_dirname',
20+
'get_dir_name',
21+
'parse_bilibili_url',
22+
'extract_ep_id',
23+
'sign_and_generate_url',
24+
'bvid_to_avid',
25+
'avid_to_bvid'
26+
]

0 commit comments

Comments
 (0)