ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

BilibiliCommentScraper完整爬取B站评论:5步拿到含二级评论的全量数据

BilibiliCommentScraper完整爬取B站评论:5步拿到含二级评论的全量数据 BilibiliCommentScraper完整爬取B站评论5步拿到含二级评论的全量数据【免费下载链接】BilibiliCommentScraperB站视频评论爬虫 Bilibili完整爬取评论数据包括一级评论、二级评论、昵称、用户ID、发布时间、点赞数项目地址: https://gitcode.com/gh_mirrors/bi/BilibiliCommentScraper凌晨两点我的简易爬虫第17次在爬到一半时崩掉上万条B站评论的采集任务再一次归零只留下一个半空的CSV文件。如果你也体会过这种进度清零、从头再来的崩溃感那么今天要介绍的这款开源工具——BilibiliCommentScraper一个基于Selenium的B站评论爬虫也许能让你彻底告别这段黑暗时光。它能一次性完整爬取视频的一级评论与二级评论连同昵称、用户ID、发布时间、点赞数一起结构化导出还自带断点续爬堪称B站评论数据采集的一站式解决方案。从一次复制粘贴式采集说起先聊聊我最初的采集方式打开浏览器、滚动到底部、手动复制评论、粘贴到Excel……一个几千条评论的视频要花掉整整一个下午而且复制下来的内容又乱又缺字段别说分析了光是整理格式就让人头皮发麻。后来我换成了网上流传的各种轻量爬虫结果更扎心只能拿到前二三十条评论热门视频的评论量动辄上万这点数据连抽样都算不上只抓一级评论评论区里层层嵌套的对话关系完全丢失想做互动分析根本无从下手一次只能处理一个视频10个视频就要手动跑10遍最关键的是——没有进度保存程序一崩前功尽弃。这些痛点几乎每一个做B站内容研究的人都踩过。而BilibiliCommentScraper的出现把这些问题一次性解决掉了。它和能跑就行的爬虫差别在哪同样是抓评论BilibiliCommentScraper走的是Selenium模拟真实浏览器的路线而不是调用B站内部API。这意味着它能拿到网页端实际渲染出的所有可见评论数据更全面也不容易触发接口风控。几个核心差异对比如下对比维度传统简易方案BilibiliCommentScraper覆盖范围仅前几十条页面可见的完整评论评论层级只有一级评论一级 二级评论全量抓取批量能力单视频手动处理读取列表自动批量采集中断恢复无崩溃即重来断点续爬随时可停可续异常处理需要人盯着自动重试、自动重启浏览器它的设计哲学很朴素让你把爬虫挂在那里安心去睡觉。遇到网络波动、页面崩溃程序会自己重启浏览器接着干就算你主动关了程序下次运行也能从上次的位置继续。一条评论能拿到多少信息很多工具抓回来的评论只有昵称内容两个字段而这把爬虫输出的CSV每一行都包含9个字段几乎覆盖了分析所需的全部维度编号评论的序号用于标记层级位置隶属关系一级评论还是二级评论被评论者昵称 / 被评论者ID如果是一级评论这里会标注为up主昵称 / 用户ID评论发布者的身份信息评论内容完整评论文本发布时间精确到分钟的时间点赞数评论的热度指标每个视频的评论会单独输出一个以视频ID命名的CSV文件如BV17M41117eg.csv编码为UTF-8用pandas或记事本都能直接读取。上图就是BilibiliCommentScraper采集结果的真实样例编号、隶属关系、用户信息、评论内容、时间与点赞数一应俱全层级结构清晰可辨。有了这些字段你可以轻松还原评论区完整的对话树谁回复了谁、哪条评论最火、评论集中在什么时间段一目了然。5步完成你的第一次全量采集上手门槛比我预想低得多总共就五步。第1步准备环境需要 Python 3 和 Chrome 浏览器建议最新版。然后安装依赖在命令行执行pip install selenium beautifulsoup4 webdriver-manager第2步获取工具git clone https://gitcode.com/gh_mirrors/bi/BilibiliCommentScraper.git cd BilibiliCommentScraper第3步填写视频清单打开video_list.txt把要采集的视频URL逐行粘贴进去一个视频一行https://www.bilibili.com/video/BV17M41117eg https://www.bilibili.com/video/BV1QF411q73H https://www.bilibili.com/video/BV1c14y147g6第4步启动爬虫并登录一次运行python Bilicomment.py程序会弹出Chrome窗口控制台提示请登录登录成功跳转后按回车键继续...。扫码登录后回车程序会把你登录信息保存到cookies.pkl之后每次运行自动登录不用再重复扫码。第5步等待采集完成程序会自动滚动页面加载全部评论逐条抓取一级评论和二级评论并写入CSV。期间控制台会实时打印进度比如当前是第几个视频、滚动到第几次、二级评论翻到第几页方便你随时观察。小提示建议第一次先用评论量较小的视频试跑确认流程没问题后再处理热门视频。中断不用慌断点续爬是怎么做到的这是我最喜欢的功能没有之一。程序在采集过程中会持续把进度写入progress.txt文件例如{video_count: 1, first_comment_index: 15, sub_page: 114, write_parent: 1}四个字段的含义分别是video_count已完成第几个视频first_comment_index当前视频进行到第几条一级评论sub_page当前一级评论下的二级评论翻到了第几页write_parent当前一级评论是否已经写入文件1为已写0为未写下次运行程序时它会自动读取这个文件从断点位置继续爬CSV也会接着往下写不会覆盖已有数据。更妙的是这个机制还给了你手动控制任务的能力想从头开始删掉progress.txt即可某个视频爬失败了想跳过把video_count加1想跳过某几条评论直接调整first_comment_index。小提示如果程序长时间没有打印新进度说明可能访问太频繁被B站限流了直接重启程序就行它会自动从断点续爬。三个调优技巧让它跑得更快、更稳、更省内存跑熟之后你可能会遇到评论量特别大的视频这时候可以按需调整几个参数都在Bilicomment.py里。技巧1控制一级评论加载量代码中MAX_SCROLL_COUNT 45控制页面滚动次数每滚一次大约加载20条一级评论默认45次最多约920条。实测中一个标称7443条评论的视频滚动45次实际抓到了3581条有效评论——这主要是因为B站存在评论数虚标部分评论被封禁或隐藏。如果你的视频评论量特别大可以适当降低这个值避免网页因内存过大而崩溃。技巧2给二级评论设个上限max_sub_pages 150控制每条一级评论下二级评论最多翻多少页设为None则无限制。设一个合理上限能显著减少内存占用防止页面崩溃官方建议150页你可以按需调整。技巧3用随机延时降低风控风险如果发现爬着爬着没动静了多半是请求太频繁。把固定延时改成随机延时更接近真人操作节奏import random time.sleep(random.uniform(1, 5)) # 随机延时1~5秒顺带一提程序默认开启了无头模式并禁用了GPU加速与图片加载就是为了在跑大量视频时把内存占用压到最低。浏览器如果真崩了也别慌它会在等待后自动重启并断点续爬。高频问题速查❓ CSV用Excel打开是乱码CSV是UTF-8编码。先用记事本打开确认数据正常再在Excel里用数据 → 从文本/CSV导入选择UTF-8编码即可。❓ 某些单元格显示$NAME?这是Excel对以-开头的文本比如昵称-Ghauster的误判数据本身没有问题换用VS Code或记事本查看或用pandas读取都能正常显示。❓ 报错Permission denied怎么办多半是CSV文件或progress.txt正被其他程序占用或者目录没有写入权限。程序内置了自动重试机制等待10秒重试最多50次如果还不行关闭占用文件的程序或尝试以管理员身份运行。❓ 抓到的评论数比页面上显示的少大概率是正常的。B站存在评论数虚标部分评论可能被隐藏、封禁或由用户自行删除。验证方法很简单手动滚动到页面底部看最后几条评论是否和CSV里最后几条一致一致就说明所有可见评论都已完整抓取。❓ 被跳过的视频去哪了凡是因解析失败、加载超时等原因被跳过的视频都会记录在video_errorlist.txt里方便你排查问题、单独重跑。一点必要的提醒合规使用细水长流工具好用但请务必记住只采集公开可见的评论数据合理控制请求频率数据仅用于个人学习、研究与正当分析不用于侵权或商业滥用。爬虫是把双刃剑尊重平台规则才能用得长久。现在就动手结束手动复制时代从手动复制到全量自动采集从崩溃清零到断点续爬BilibiliCommentScraper 把B站评论数据获取这件事从体力活变成了一键任务。它不需要你懂复杂的爬虫原理也不要求会写代码照着上面5步走你也能在十几分钟内拿到第一份完整的评论数据集。快速回顾一下上手路径安装依赖pip install selenium beautifulsoup4 webdriver-manager克隆仓库git clone https://gitcode.com/gh_mirrors/bi/BilibiliCommentScraper.git编辑video_list.txt填入视频链接运行python Bilicomment.py扫码登录一次等待完成在代码同级目录查看以视频ID命名的CSV文件最后的小建议先从评论量少的视频开始试跑跑大视频前记得检查磁盘空间因为Selenium会产生临时缓存文件如果中途要改任务直接编辑progress.txt就能精准控制进度。数据是分析的起点而BilibiliCommentScraper就是你迈出B站评论数据分析第一步的最好搭档。【免费下载链接】BilibiliCommentScraperB站视频评论爬虫 Bilibili完整爬取评论数据包括一级评论、二级评论、昵称、用户ID、发布时间、点赞数项目地址: https://gitcode.com/gh_mirrors/bi/BilibiliCommentScraper创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表