公司动态

B站评论爬虫实战:用 BilibiliCommentScraper 一次抓全上万条评论数据

📅 2026/8/13 12:08:28
B站评论爬虫实战:用 BilibiliCommentScraper 一次抓全上万条评论数据
B站评论爬虫实战用 BilibiliCommentScraper 一次抓全上万条评论数据【免费下载链接】BilibiliCommentScraperB站视频评论爬虫 Bilibili完整爬取评论数据包括一级评论、二级评论、昵称、用户ID、发布时间、点赞数项目地址: https://gitcode.com/gh_mirrors/bi/BilibiliCommentScraper做内容分析、舆情调研或是写毕业论文时最磨人的环节往往不是数据怎么算而是数据从哪来。BilibiliCommentScraper 是一款面向 B 站视频的评论爬虫工具它能把一个视频里所有可见的一级评论和二级评论完整抓下来连同昵称、用户 ID、发布时间、点赞数一并整理成 CSV 表格并支持批量视频、断点续爬和自动重试让 B 站评论数据获取从手动翻页复制变成跑一条命令。一、深夜改稿的教训B站评论数据获取远比你想象中复杂先讲一个真实场景。某个播放量破百万的视频评论区右上角赫然写着3.2 万条评论可你打开页面能看到的只有最前面的二十几条。想往下翻鼠标滚轮滚到发烫一次也只多加载几十条。想看看热评下面有哪些精彩回复还得一条条点开查看全部回复运气不好还要翻页。三个现实问题摆在面前页面只加载冰山一角B 站评论是动态加载的首屏默认只显示少量评论剩下的要靠不断滚动才能慢慢挤出来层级关系默认折叠一级评论下的二级评论回复需要逐条展开想保留谁回复了谁的完整链路手动操作几乎不可能复制整理等于手工流水线昵称、ID、时间、点赞数散落在页面各处逐条复制进 Excel一个小时也就整理出几百条还容易出错。换句话说看得到评论 ≠ 拿得到数据。如果你只是偶尔看两眼评论区手动操作无妨可一旦涉及批量分析就必须借助工具了。二、一张表看懂 BilibiliCommentScraper完整抓取一级与二级评论BilibiliCommentScraper 用 Selenium 模拟真实浏览器滚动加载页面而不是走 B 站接口因此能拿到更接近用户真实所见的完整数据。它的核心能力可以浓缩成下面这张速览表能力具体表现典型受益者完整抓取覆盖所有可见的一级评论与二级评论需要全量样本的研究者字段丰富输出 9 个字段含评论者与被评论者信息做用户画像、社交关系分析的人批量处理读取video_list.txt中的多个视频链接逐个爬取要一次分析多个视频的运营断点续爬进度实时写入progress.txt中断后自动接续网络不稳定、时间碎片化的用户自动重试遇到加载异常自动刷新重试失败视频记入错误清单想挂机一整晚的省心党一次登录扫码登录后 cookies 保存在本地之后免登录需要多次、长期采集的用户再直观一点把它和另外两种常见做法放在一起对比对比维度手动翻页复制B 站官方接口BilibiliCommentScraper数据完整性只拿到前几十条受限于接口返回可覆盖全部可见评论层级关系难以保留需额外组装原生保留一级/二级结构人工投入极高需要写代码对接一条命令跑完上手门槛低中高中低装依赖即可一句话总结它解决的不是能不能爬的问题而是爬得全不全、整理得好不好的问题。三、快速上手五步跑通你的第一个 B站评论爬虫整个上手过程不需要写一行业务代码照着下面五步走就行。第一步准备 Python 环境与依赖确保电脑上安装了 Python 3.8 及以上版本然后安装三个依赖库pip install selenium beautifulsoup4 webdriver-managerwebdriver-manager会自动帮你下载匹配的浏览器驱动省去了手动配置 ChromeDriver 的麻烦。第二步把要爬的视频链接写进清单在项目根目录新建video_list.txt每行放一个 B 站视频链接想爬多少个就放多少个https://www.bilibili.com/video/BV17M41117eg https://www.bilibili.com/video/BV1QF411q73H https://www.bilibili.com/video/BV1c14y147g6每个视频会生成一个以视频 ID 命名的独立 CSV 文件互不干扰。第三步运行脚本python Bilicomment.py程序会拉起一个浏览器窗口自动打开视频页面并开始加载评论。第四步扫码登录一次首次运行会出现请登录的提示。这时在浏览器里扫码登录 B 站登录成功跳转后回到终端按回车继续。程序会把登录状态序列化保存到cookies.pkl此后每次运行都会自动登录直到你手动删除这个文件。第五步等待产出程序会自动滚动页面、逐条展开二级评论、翻页整个过程控制台会实时打印进度。完成后每个视频的评论数据就静静躺在对应的 CSV 文件里了。爬取过程中被跳过的失败视频会被记录在video_errorlist.txt中方便你回头排查。四、爬取 B 站二级评论的成果长什么样九个字段一次看明白跑完一次任务后你最关心的问题一定是导出数据到底规不规范下面是工具输出 CSV 的真实样例从截图可以看到每行数据都完整还原了一条评论的上下文具体字段如下字段含义说明一级评论计数该评论所属的一级评论编号用于把二级评论归位到母评论之下隶属关系区分一级评论与二级评论层级一目了然被评论者昵称 / 被评论者 ID这条评论回复的是谁一级评论此处显示为up主昵称 / 用户 ID评论者本人的信息评论内容完整评论正文发布时间精确到分钟的发布时间点赞数该评论获得的支持度对于做社群网络分析或话题追踪的人来说隶属关系 被评论者两个字段尤其珍贵——它把散落的评论重新拼回了对话树你能清楚看到哪些回复聚集在哪个热评之下互动热度是如何逐层衰减的。五、进阶调优让爬虫按你的节奏干活默认参数适合大多数视频但遇到超大流量的热门视频你可能需要微调两个关键参数它们都在Bilicomment.py文件顶部MAX_SCROLL_COUNT 45 # 滚动加载次数默认 45 次约对应 920 条一级评论 max_sub_pages 150 # 单个一级评论的二级评论最大翻页数设为 None 表示不限制滚动次数不是越大越好滚动过多会让浏览器内存占用飙升极端情况下页面直接崩溃。如果你的目标视频评论量不大适当调小数值反而更稳。给二级评论设个上限有些热评下的回复动辄几百条无限翻页既慢又费内存。建议设一个合理上限够用即可。给请求加个随机延时如果频繁访问触发了风控典型表现是程序长时间没有新日志可以引入随机延时来降低请求密度import random time.sleep(random.uniform(1, 5)) # 每次随机等待 1 到 5 秒另外断点续爬是这套工具最省心的设计。进度文件progress.txt里记录着第几个视频、第几条一级评论、二级评论翻到第几页你可以直接编辑它来调整任务想跳过某个视频就把video_count加 1想重新来一遍就删掉整个文件。即使电脑中途关机重新运行也能无缝接上。六、谁在用它四类典型用户与各自的用法内容创作者用评论数据反推观众的共鸣点。哪条评论点赞最高大家在讨论什么话题把这些整理成选题灵感库比凭感觉做内容靠谱得多。学术研究者完整保留层级关系的数据集是情感分析、社群网络分析、话题演化追踪的天然原料可以直接交给 pandas 等工具做后续处理。市场与运营人员把竞品视频、品牌相关视频的评论批量导出做舆情监测和用户需求挖掘支撑数据驱动的决策。教育与社会研究者收集教育视频的学习反馈、分析特定议题的公众态度为课程改进和社会观察提供第一手素材。无论你属于哪一类工具的使用方式都是一样的改一改video_list.txt跑一遍脚本剩下的交给 CSV。七、避坑指南5 个高频问题一次讲清Q1爬到的数量比页面显示的评论数少正常吗正常。B 站存在评论数虚标现象部分评论可能被平台隐藏、删除或因违规屏蔽。一个简单的自检办法手动在网页里滚动到评论区底部如果最后看到的几条评论与 CSV 末尾的数据一致就说明所有可见评论都已完整抓取。Q2用 Excel 打开 CSV 出现乱码怎么办文件是 UTF-8 编码Excel 直接双击打开可能识别不了。建议用记事本先查看或者在 Excel 里通过数据 → 从文本/CSV导入并选择 UTF-8 编码也可以直接用 pandas 等工具读取。Q3有些单元格显示 $NAME? 错误这是 Excel 对以-开头的文本比如昵称-Ghauster的误判把它当成公式了。在导入向导里把相关列设为文本格式即可数据本身没有问题。Q4运行时报 Permission denied 是什么原因通常是 CSV 或 progress.txt 文件被其他程序占用——比如你自己正用 Excel 开着它。关掉占用程序再重试如果仍不行可以尝试以管理员身份运行。Q5爬热门视频时浏览器崩溃了怎么办评论量极大的视频会让浏览器内存吃紧。程序本身会在崩溃后自动重启并断点续爬但如果页面还没加载完就反复崩溃请调小MAX_SCROLL_COUNT并考虑给二级评论页数设置上限。八、用之前想清楚合规使用与数据边界工具再顺手也要守好边界。使用 BilibiliCommentScraper 时请记住几条原则只采集公开可见的数据不碰任何需要特殊权限才能访问的内容合理控制请求频率配合延时机制避免对目标站点造成压力限定用途优先用于个人研究、学习与合理的非商业分析数据本地保存采集结果只留在自己的机器上及时清理不再需要的临时文件。技术没有立场但使用技术的人有。让数据为你创造价值的同时也尊重内容创作者与平台方的权益。写在最后让数据流动起来回到开头那个深夜如果你手里有一套完整的评论数据你能回答的问题会多得多——观众真正在意什么、哪些观点最有共鸣、不同时段的热度如何变化。BilibiliCommentScraper 要做的就是把这个如果变成现实。下一步很简单克隆仓库、装上依赖、放入你的视频清单、跑一次试试。等你看到第一份整齐的 CSV 出炉就会明白什么叫数据获取的一次性投入、长久回报。git clone https://gitcode.com/gh_mirrors/bi/BilibiliCommentScraper.git cd BilibiliCommentScraper pip install selenium beautifulsoup4 webdriver-manager python Bilicomment.py如果你在使用的过程中发现了更好的调优思路或者踩到了文档里没写到的坑欢迎把经验分享给社区。开源项目最动人的地方正是它会在每个人的反馈中一点点变好。【免费下载链接】BilibiliCommentScraperB站视频评论爬虫 Bilibili完整爬取评论数据包括一级评论、二级评论、昵称、用户ID、发布时间、点赞数项目地址: https://gitcode.com/gh_mirrors/bi/BilibiliCommentScraper创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考