B站视频评论爬虫:如何完整爬取一级与二级评论并导出CSV?
B站视频评论爬虫如何完整爬取一级与二级评论并导出CSV【免费下载链接】BilibiliCommentScraperB站视频评论爬虫 Bilibili完整爬取评论数据包括一级评论、二级评论、昵称、用户ID、发布时间、点赞数项目地址: https://gitcode.com/gh_mirrors/bi/BilibiliCommentScraper凌晨一点你为了写一份视频用户调研正对着B站评论区一页一页往下翻。翻了二十分钟才存下八十来条评论楼中楼的回复更是理不清谁在回谁——手都酸了数据还残缺。这不是你手速的问题是方法的问题。BilibiliCommentScraper这个开源的B站视频评论爬虫正是为这种场景准备的把一级评论、二级评论、昵称、用户ID、发布时间、点赞数一次性完整搬进 CSV你只管睡觉它替你熬夜。不调接口它把自己伪装成真人市面上不少爬虫走 B 站 API省事是真省事可拿到的往往只有前几十条评论层级也丢得七七八八。BilibiliCommentScraper 换了一条更笨、也更稳的路——用 Selenium 驱动真实浏览器模拟真人浏览网页。你在网页上怎么操作它就怎么操作不断向下滚动逼页面把评论一条条加载出来遇到查看全部就点开二级评论一页翻不完就一页一页翻到底。模拟真人浏览意味着页面能看到的评论它都能拿到包括 API 接口通常不给的楼中楼。这对你意味着什么意味着你不用再对着残缺数据做情感分析、写调研报告数据底座完整了后面的分析才站得住。一张速查卡从零到 CSV 只要三行命令别急着研究代码先看全流程有多短步骤操作1安装依赖pip install selenium beautifulsoup4 webdriver-manager2在video_list.txt里写入视频链接每行一个3运行python Bilicomment.py首次按提示扫码登录一次登录这步值得多说一句。它会在本地生成cookies.pkl把你的登录态存下来。之后每次运行都自动带登录状态不用反复扫码你要做的只是把新视频链接追加进video_list.txt然后回车。批量管理多个视频就是这么简单——每个视频会生成一个以视频 ID 命名的独立 CSV互不干扰。断点续爬断电、断网、浏览器崩了都吓不跑它来做一个情景模拟你感受一下你在爬一个评论上万的热门视频进度走到 60%笔记本没电了。第二天开机重新运行程序它直接问都不问接着上次的第 37 条一级评论继续爬CSV 文件也在原来的基础上继续追加不重复、不丢数据。秘密藏在progress.txt里。这个文件像一张精确到毫米的书签记录着第几个视频、第几条一级评论、二级评论翻到第几页。程序每次落笔前都会更新它所以任何时刻中断都能原路找回进度。想从头再来删掉progress.txt即可。想跳过某个爬不动的视频把video_count加一干净利落。同样的省心逻辑还体现在错误处理上网络抖动、页面加载超时程序会自动重试实在爬不了的视频会被记进video_errorlist.txt你事后扫一眼就知道哪个视频掉了队。开爬前 60 秒检查清单别等跑起来才发现少了什么开爬前扫一遍这张清单Python 3 已安装依赖库已pip installvideo_list.txt里每行是一个完整的 B 站视频 URL网络稳定首次运行建议人在电脑前方便扫码想从头爬确认没有残留的progress.txt如果之前登录过但 cookies 失效删掉cookies.pkl重新登录全部打勾就可以放心让程序跑一整晚了。参数拧两下热门视频也稳默认参数适合大多数场景但碰到 10 万 评论的爆款视频页面会因为加载数据过多而内存崩溃。这时你需要动两个旋钮MAX_SCROLL_COUNT 45 # 默认45次滚动约能加载920条一级评论可调小 max_sub_pages 150 # 二级评论最多翻150页设 None 表示不限制滚动次数越少页面越轻越不容易崩二级评论页数设个上限同样是为了省内存。嫌请求太密集、怕被平台限流加一行随机延时import random time.sleep(random.uniform(1, 5)) # 每次等待1~5秒随机分散请求节奏把参数调成适合自己视频的量级爬取过程就从碰运气变成了可预期——这也是这个工具和一次性脚本最大的区别。拿到 CSV 之后这张表怎么读程序跑完同级目录下会出现以视频 ID 命名的 CSV 文件每一行是一条评论字段结构如下编号该评论在整个评论流中的位置隶属关系一级评论 / 二级评论层级一目了然被评论者昵称、被评论者ID一级评论显示up主二级评论显示被回复的那位用户昵称、用户ID评论者本人信息评论内容、发布时间、点赞数分析最常用的三个字段截图里每一行都带着完整归属信息哪条是楼中楼、回复的是谁、多少赞、什么时候发的——这份结构化数据可以直接喂给 pandas 做情感分析、词频统计或社群网络研究不需要再手工整理。翻车现场急救箱用的时候难免遇到几个小状况提前给你备好解药CSV 用 Excel 打开是乱码文件是 UTF-8 编码Excel 默认没认出来。改用记事本打开或走数据 → 从文本/CSV 导入并手动选择 UTF-8即可正常显示。单元格显示$NAME?报错这是 Excel 把以-开头的昵称当成了公式例如-Ghauster。不是数据坏了换个导入方式或直接用代码读取就好。爬到的评论数比页面标称的少正常。B站评论数存在虚标部分评论可能被隐藏或屏蔽。判断标准很简单你手动把网页滚到底看到的最后几条评论和 CSV 末尾对得上就是完整爬全了。报 Permission denied多半是 CSV 或 progress.txt 被其他程序占用比如你正开着 Excel 看它。关掉占用文件或换管理员身份运行即可解决。程序长时间没动静大概率是访问太频繁被平台冷处理了。重启程序即可断点续爬若频繁出现就按前面说的把延时拉长。你的第一份完整评论数据集现在就能开始从手工翻页到全自动爬取从残缺数据到层级完整的 CSV差的只是一个对的工具。BilibiliCommentScraper 的价值不在于代码多炫而在于它把完整、断点、批量、省心这四个词落到了实处让每一个想认真做数据分析的人都能用十分钟搭好自己的数据管道。想立刻上手克隆下来跑一遍就知道git clone https://gitcode.com/gh_mirrors/bi/BilibiliCommentScraper.git cd BilibiliCommentScraper pip install selenium beautifulsoup4 webdriver-manager把你想分析的视频链接写进video_list.txt运行python Bilicomment.py剩下的交给它。如果你在爬取中发现新的坑、或者有更好的参数方案也欢迎把经验带回项目——这类工具的价值正是在使用者的反馈中一点点长起来的。数据驱动的时代先拿到完整数据的人赢在起跑线上。【免费下载链接】BilibiliCommentScraperB站视频评论爬虫 Bilibili完整爬取评论数据包括一级评论、二级评论、昵称、用户ID、发布时间、点赞数项目地址: https://gitcode.com/gh_mirrors/bi/BilibiliCommentScraper创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考