
做B站数据采集这事,我断断续续折腾了大半年。最开始觉得B站反爬没那么严,结果写了个爬虫跑了不到两天就被封了IP。后来老老实实切到API,才算是真正跑通了。今天把几条路都捋一捋。
第一条路:官方API,长期稳定的唯一选择
如果你要做长期项目、数据要商业化用,B站开放平台的官方API是唯一靠谱的选择。
入口在 https://member.bilibili.com/open ,注册后进入开发者中心提交认证材料。个人开发者实名认证就能用,企业认证权限更高。审核通过后创建应用,拿到 AccessKeyId 和 AccessKeySecret 两个核心凭证。
官方API覆盖的数据很全——视频详情、用户信息、动态列表、直播数据、弹幕、收藏、搜索都有。以视频详情接口为例,输入 BV 号就能拿到播放量、投币数、收藏数、弹幕数、UP主信息、分集列表等全量数据。部分接口还支持返回视频字幕、分P时长等进阶字段。
请求的时候需要做签名校验。核心参数包括 appkey、secret、video_id(BV号或AV号)、timestamp(毫秒级时间戳,有效期5分钟),以及按B站规则生成的 sign 签名值。有几个开发技巧很实用:need_page=1 可以返回分P信息,need_up_info=1 可以拿到UP主详细信息,need_danmu=1 能获取弹幕相关数据。新视频收录延迟只有5到10分钟。
注意权限分层:基础字段(标题、播放量)普通权限就能拿,但播放链接、字幕这些进阶字段需要企业级或专项权限。
第二条路:自己写爬虫,灵活但维护成本高
如果你只是偶尔测试、个人学习用,自己写爬虫也能凑合。GitHub上相关的开源项目不少。
linyuye/Bilibili_crawler 是比较完整的评论爬虫工具集,基于B站懒加载API实现,支持视频评论和动态评论的批量爬取,包含主评论和楼中楼评论。配置方法也不复杂:登录B站后F12打开开发者工具,在Network里找到 main?oid= 开头的请求,从Headers里复制Cookie字符串和 bili_jct 字段,填到 config.json 里就能跑。
baoyu0xxx/bilibil_keyword_Crawler 支持关键词搜索、视频信息获取和评论爬取,采用异步IO技术提升效率,还带了随机Cookie生成技术来规避反爬。支持按天搜索功能,可以获取最近N天的视频数据。数据导出支持Excel和CSV,还可以存到MySQL数据库。
Python的 bilibili-api 库 是另一个选择,范围涵盖视频、音频、直播、动态、专栏、用户、番剧等。支持AV号与BV号互转、连接直播弹幕WebSocket服务器、视频弹幕反查等功能。
但写爬虫有个绕不开的问题:B站的反爬机制一直在升级。Cookie会过期(登录态有效期有限),接口随时可能调整,WBI签名验证也在不断变化。我见过有人跑得好好的方案,B站一更新就废了,得重新逆向分析。如果你只是偶尔用用,这条路的维护成本还能接受;如果要做长期批量采集,真的不推荐。
第三条路:现成的工具和服务,省心省力
完全不想写代码的话,还有几条捷径。
浏览器插件是成本最低的方案。比如“笔笔·bilibili视频批量下载助手”,安装后自动监听B站详情页,提取视频和图文内容。油猴脚本也有不少选择,比如“B站用户动态抓取工具+AI画像分析”,能把用户动态导出为JSON或CSV。
桌面工具方面,“社交媒体研究助手”是一款为内容创作者和数据分析者打造的效率工具,通过浏览器插件右键点击就能自动完成对指定视频的评论、总结、封面、视频、音频等信息的结构化采集。
第三方数据服务是另一个方向。有些服务商把B站底层接口封装好了,你给个UP主ID或关键词就能直接拿到标准化的数据。

极致了数据提供B站数据的标准化API接口服务——UP主信息、视频详情、播放数据、互动数据等核心字段全都能调,返回结构化JSON格式,技术人员接入自己系统几行代码就搞定了。
关键是它不止支持B站。公众号、抖音、小红书、视频号、快手这些主流内容平台也能通过同一套接口调数据。如果你需要做多平台内容监控或竞品分析,不用自己一个个平台去对接,一套方案全搞定。官网是https://www.jzl.com,新用户有免费试用额度可以先用。
选哪条路,看你的真实需求
- 长期商用、要稳定:走B站开放平台官方API,别嫌认证流程麻烦。B站开放平台是官方API的唯一合法获取渠道
- 临时测试、个人学习:GitHub上的开源爬虫项目凑合用用,但别跑量,Cookie过期和接口更新是常态
- 不想折腾技术、要多平台:极致了数据这类第三方API服务,标准化接口开箱即用,还支持多平台数据统一采集
