尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

如何一次性采集B站视频的全部评论?这个开源爬虫连二级评论都帮你爬

如何一次性采集B站视频的全部评论?这个开源爬虫连二级评论都帮你爬 如何一次性采集B站视频的全部评论这个开源爬虫连二级评论都帮你爬【免费下载链接】BilibiliCommentScraperB站视频评论爬虫 Bilibili完整爬取评论数据包括一级评论、二级评论、昵称、用户ID、发布时间、点赞数项目地址: https://gitcode.com/gh_mirrors/bi/BilibiliCommentScraper你是不是也有过这样的时刻想分析某个 B 站视频的评论区打开网页却只能看到前二三十条手动往下翻翻到手指发酸也看不完好不容易复制了一批评论想统计一下点赞数、看看楼中楼的回复关系结果层级乱成一团。BilibiliCommentScraper 就是为解决这件事而生的开源工具——它能帮你完整采集B站评论数据一级评论、二级评论、昵称、用户ID、发布时间、点赞数一个都不少最终全部落进一份结构清晰的 CSV 文件里。先想清楚B站评论数据为什么这么难拿全在动手之前值得先搞清楚问题出在哪。拿不全 B 站评论通常逃不开三个坎页面只预加载前几十条剩下的要靠不断向下滚动才能慢慢挤出来评论自带层级一级评论下面还有二级回复楼中楼复制粘贴时关系很容易丢视频多了更头疼手动收集几十个视频的评论等于把自己变成了人肉爬虫。这三道坎恰好对应了 BilibiliCommentScraper 的三大设计思路。下面一层一层拆给你看。第一层让浏览器自己滚到页面最底部B 站网页每向下滚动一次大约会加载 20 条一级评论。BilibiliCommentScraper 的做法很直接——用 Selenium 打开真实浏览器模拟真人不断向下滚动直到页面底部不再长高为止。这个滚到底的动作默认最多执行 45 次对应大约 920 条一级评论足够覆盖绝大多数视频。评论区内容巨多、需要控制内存占用的时候你还可以在代码里改这个数值MAX_SCROLL_COUNT 45 # 最大滚动次数预计最多爬取920条一级评论配合无头模式、禁用图片和音频加载浏览器在后台安静干活内存占用被压到很低你的电脑还能同时刷剧写文档。第二层二级评论也不放过层级关系完整保留只拿到一级评论对很多分析场景来说远远不够。热门评论下面的楼中楼回复往往藏着最有价值的讨论。BilibiliCommentScraper 会逐条点开每个一级评论的查看全部按钮把二级回复一页一页翻完并且保留完整的隶属关系。最终每个视频生成一个独立的 CSV 文件包含九个字段编号、隶属关系一级评论 / 二级评论被评论者昵称、被评论者ID评论者昵称、用户ID评论内容、发布时间、点赞数这套B站评论数据采集的字段设计让你拿到的不是一堆散乱的文本而是一份可以直接丢进 pandas、Excel 做分析的规整数据集。第三层断了也不怕进度自动存档接着爬爬虫最怕什么爬了一半断网、电脑关机、浏览器崩溃然后全部白干。BilibiliCommentScraper 的答案是一个叫progress.txt的存档文件。程序每处理完一条评论都会把当前进度写进这个文件。下次运行它会自动读取进度从上次停下的地方继续写入到一半的 CSV 也不会重复或丢失。想重头开始删掉progress.txt就行。配合这三样你可以放心让它自己爬一整晚cookies.pkl首次运行扫码登录一次登录状态自动保存之后免登录video_errorlist.txt爬取失败的视频自动记录在案跑完一眼就能看到自动重试网络波动、页面崩溃时程序会自动重启浏览器断点续爬不用你守在旁边。看看最终成果长什么样下面是这个工具实际跑出来的 CSV 示例你可以直观感受一下字段和层级关系每一行就是一条评论一级评论的被评论者标记为 up 主二级评论则标注它挂在哪条一级评论之下。点赞数、发布时间都齐整地排好后续做情感分析、热点统计数据基础已经给你铺好了。三步上手今晚就能跑起来整个过程并不复杂跟着走一遍第一步装依赖pip install selenium beautifulsoup4 webdriver-manager第二步把视频地址写进清单打开项目里的video_list.txt每行放一个 B 站视频链接支持批量https://www.bilibili.com/video/BV17M41117eg https://www.bilibili.com/video/BV1QF411q73H https://www.bilibili.com/video/BV1c14y147g6第三步运行python Bilicomment.py首次运行会弹出浏览器扫码登录一次 B 站账号回车后它就开始干活了。每个视频的评论会保存成以视频 ID 命名的 CSV 文件和代码放在同一个目录下。两个值得动手调的参数二级评论页数上限代码里的max_sub_pages默认 150 页。评论特别多的视频建议保留这个上限能有效减少内存占用想无限制就设为max_sub_pages None。随机延时如果爬得太频繁被 B 站冷落长时间没动静可以改成随机延时模拟真人节奏import random time.sleep(random.uniform(1, 5)) # 随机1到5秒几句实话帮你避开常见坑用之前有几点值得知道评论数会有出入B 站存在评论数虚标部分评论可能被隐藏或删除。判断标准很简单——你在网页里手动滚到底看到的最后几条和 CSV 里最后几条一致就说明已经爬全了。Excel 打开乱码CSV 是 UTF-8 编码用 Excel 的从文本/CSV 导入并选择 UTF-8 即可或者直接用记事本查看。报错 Permission denied多半是 CSV 或 progress.txt 被其他程序占用了关掉占用它的窗口或尝试以管理员身份运行。超大热门视频评论量十万级的话网页可能因内存不足崩溃程序会自动重启续爬但如果还没开始爬就崩把MAX_SCROLL_COUNT调小一点。拿到数据之后你可以做什么采集只是起点数据到手后的想象空间更大UP 主用它分析观众反馈、优化选题研究人员用它做情感分析与用户行为研究运营和产品同学用它做竞品对比与舆情监测教育工作者也能用它收集学生对课程的真实评价。一份结构完整的B站评论数据能支撑起不少有意思的分析。现在就动手拿全 B 站评论这件事其实没那么玄乎。克隆项目、配置清单、跑起来你就能拥有一份字段完整、层级清晰、可随时续爬的评论数据集git clone https://gitcode.com/gh_mirrors/bi/BilibiliCommentScraper.git下次再有人问你怎么搞到这么多评论数据的你就可以淡淡回一句让爬虫自己爬了一晚上。数据驱动的时代谁先拿到完整的数据谁就多一分先手。今晚就把video_list.txt填好跑起来看看吧。【免费下载链接】BilibiliCommentScraperB站视频评论爬虫 Bilibili完整爬取评论数据包括一级评论、二级评论、昵称、用户ID、发布时间、点赞数项目地址: https://gitcode.com/gh_mirrors/bi/BilibiliCommentScraper创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表