如何用BilibiliCommentScraper高效获取B站完整评论数据:新手完整指南
【免费下载链接】BilibiliCommentScraperB站视频评论爬虫 Bilibili完整爬取评论数据,包括一级评论、二级评论、昵称、用户ID、发布时间、点赞数项目地址: https://gitcode.com/gh_mirrors/bi/BilibiliCommentScraper
凌晨一点,你还在手动复制B站爆款视频的评论区,几十条评论翻得眼花,谁回复了谁、点赞多少完全对不上号,更别提还有20个视频排着队等你处理。手动采集B站评论数据,几乎是每个内容创作者和研究者都踩过的坑。而 BilibiliCommentScraper 就是为彻底解决这个痛点而生的免费开源工具:批量抓取、层级完整、还能断点续爬,把几小时的苦力活压缩成几分钟。
30秒看懂这个工具
一句话定义:BilibiliCommentScraper 是一款基于 Python + Selenium 的 B站评论数据采集工具,它会像真人一样打开浏览器、滚动页面,把一级评论、二级评论连同昵称、用户ID、发布时间、点赞数全部抓下来,自动存成 CSV 表格。
适合谁?
- 📹 内容创作者:分析观众反馈,寻找创作灵感
- 🎓 研究者与学生:情感分析、用户行为研究
- 📊 市场运营:舆情监测、竞品对比
能带来什么?一次登录,批量视频自动跑;中途断电、程序崩溃都不怕,随时接着上次的进度继续。
上图就是工具输出的一张评论数据表:编号、隶属关系、被评论者、评论内容、发布时间、点赞数一应俱全,一级评论和二级评论的层级关系一目了然。
5步闪电上手,10分钟跑通
别担心,全程不需要你懂编程,跟着做就行。
第1步:准备环境安装 Python 3(官网下载安装包,一路"下一步"即可),再装好 Chrome 浏览器。
第2步:安装依赖打开命令行(Windows 用 cmd 或 PowerShell),执行:
pip install selenium beautifulsoup4 webdriver-manager第3步:下载项目
git clone https://gitcode.com/gh_mirrors/bi/BilibiliCommentScraper cd BilibiliCommentScraper第4步:填写视频列表用记事本打开项目里的video_list.txt,每行填一个B站视频链接:
https://www.bilibili.com/video/BV1xxxxxxxxx https://www.bilibili.com/video/BV1yyyyyyyyy第5步:运行
python Bilicomment.py运行后 Chrome 会自动弹出,提示"请登录,登录成功跳转后,按回车键继续..."。扫码登录一次,回车,程序就开始自动爬了。
✅预期结果:控制台持续打印"下滑滚动第X次",完成后项目目录下会多出以视频ID命名的 CSV 文件,比如BV1xxxxxxxxx.csv。就这么简单。
内核透视:它比传统方式强在哪
一张对比表看懂差异
| 对比项 | 手动/普通工具 | BilibiliCommentScraper |
|---|---|---|
| 数据完整性 | 只能拿到前几十条 | 滚动加载全部可见评论 |
| 层级关系 | 只有一级评论 | 一级+二级评论完整保留 |
| 批量处理 | 手动一个个来 | 读取 video_list.txt 自动批量 |
| 中断恢复 | 全部重来 | progress.txt 断点续爬 |
| 出错处理 | 全程人工盯守 | 自动重试 + 错误日志 |
杀手级特性一:二级评论也不放过
很多工具只抓表层,对话关系全丢。这个工具会模拟点击每条一级评论下的"查看全部"按钮,再一页页翻二级评论:
# Bilicomment.py 中控制二级评论页码上限 max_sub_pages = 150 # 最多翻150页,设为 None 则无限制 while current_sub_page < max_sub_pages: # 找到"下一页"按钮,点击后继续提取二级评论每条评论都带"隶属关系"字段,谁回复了谁,清清楚楚。
杀手级特性二:智能断点续爬
程序会实时把进度写进progress.txt,例如:
{"video_count": 1, "first_comment_index": 15, "sub_page": 114, "write_parent": 1}含义分别是:已完成1个视频;当前视频的第15条一级评论;这条评论的二级评论已翻到114页;这条一级评论已写入文件。
想从头开始?删掉progress.txt即可。想跳过某个视频?把video_count加1就行。控制权完全在你手里。
进阶调优:让它跑得更快更稳
三个可调参数
MAX_SCROLL_COUNT = 45 # 默认45次滚动,约920条一级评论,想抓更多可调大 max_sub_pages = 150 # 二级评论页数上限,减少可省内存 time.sleep(2) # 请求间隔,遇到风控就调大用随机延时降低被限流概率
import random time.sleep(random.uniform(1, 5)) # 每次随机等1~5秒批量处理建议
- 先跑评论量少的视频,熟悉流程
- 热门视频分批放,别一次塞太多
- 内存不足导致网页崩溃时,调小
MAX_SCROLL_COUNT
⚠️避坑提示:CSV 文件用 Excel 打开乱码?别慌,用记事本或 VS Code 打开即可;或 Excel 里选"数据→从文本/CSV",编码选 UTF-8。
实战复盘:三个拿来即用的场景
场景一:内容创作——找出最受欢迎的声音
import pandas as pd df = pd.read_csv('BV1xxxxxxxxx.csv', encoding='utf-8') top = df.nlargest(10, '点赞数')[['昵称', '评论内容', '点赞数']] print(top) # 点赞最高的10条评论,就是观众最关心的内容场景二:学术研究——分析评论活跃时段
df['发布时间'] = pd.to_datetime(df['发布时间']) hourly = df.groupby(df['发布时间'].dt.hour).size() print(hourly) # 看哪个时段讨论最热烈场景三:市场调研——批量对比竞品互动
流程很简单:把竞品视频链接全部填进video_list.txt,跑一轮批量采集,再用 pandas 分别读取多个 CSV,对比评论总量、平均点赞和负面情绪关键词出现频率。
高频问答
❓ Q1:CSV 用 Excel 打开是乱码?✅ 文件是 UTF-8 编码,用记事本或 VS Code 打开;或用 Excel 的"数据→从文本/CSV"导入并选择 UTF-8 编码。
❓ Q2:报错 Permission denied?✅ 通常是 CSV 或 progress.txt 被其他程序(比如你开着的 Excel)占用。关掉占用程序再重试,或右键以管理员身份运行。
❓ Q3:爬到的评论数比B站显示少?✅ 这是正常现象,B站评论数存在虚标。验证方法:手动滚动网页到底部,对比最后几条评论是否与 CSV 末尾一致,一致就说明抓全了。
❓ Q4:程序长时间没动静?✅ 可能是访问太频繁被限流。直接重启程序,它会断点续爬;同时把延时调大或改成随机延时。
❓ Q5:想跳过某个视频怎么办?✅ 编辑progress.txt,把video_count加1,程序启动后会自动跳过当前视频。
现在就行动
按这份清单走,十分钟内就能跑通:
- ✅ 安装 Python 3 和 Chrome
- ✅ 执行
pip install selenium beautifulsoup4 webdriver-manager - ✅
git clone https://gitcode.com/gh_mirrors/bi/BilibiliCommentScraper - ✅ 编辑
video_list.txt,放入要分析的视频链接 - ✅ 运行
python Bilicomment.py,扫码登录一次 - ✅ 查看生成的 CSV 文件,开始你的分析
💡最后提醒一句合规原则:请仅采集公开可见的评论、合理控制请求频率、遵守平台规则,数据仅用于合法合规的用途。
别等了,就从你收藏夹里那条爆款视频开始吧。打开命令行,试一次,你会回来感谢自己的。🚀
【免费下载链接】BilibiliCommentScraperB站视频评论爬虫 Bilibili完整爬取评论数据,包括一级评论、二级评论、昵称、用户ID、发布时间、点赞数项目地址: https://gitcode.com/gh_mirrors/bi/BilibiliCommentScraper
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考