想扒B站数据却不想写爬虫?这个API工具包把路子都铺好了 想扒B站数据却不想写爬虫这个API工具包把路子都铺好了【免费下载链接】bilibili-apiB站API收集整理及开发不再维护项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-apiB站API开源工具集bilibili-api是一套面向开发者和数据分析爱好者的接口合集帮你用现成的Python函数拿到视频排行、评论、弹幕、用户信息等数据省去自己抓包逆向接口的时间。如果你正在为没有官方数据通道发愁这个仓库值得花十分钟翻一翻。一个差点劝退的下午几个月前想统计某分区近一个月的热门视频做选题参考第一反应是打开浏览器、F12、翻Network面板对着几十个接口挨个试参数。试到第四个接口的时候弹幕和评论的字段还没对上号又赶上接口改版整个下午就这么报废了。后来同事甩过来一个仓库链接说B站API这块有人替你踩过坑了。打开一看排行、评论、弹幕、用户信息、番剧索引全都封装成了现成的Python函数api.md 里连每个字段的含义都标注了甚至把哪个参数在哪种排序下不可用这种细节都写进了注释里。先认识一下这个项目项目档案说明项目性质B站API收集、整理与二次开发适用人群数据分析、内容创作者、想给B站做第三方工具的开发爱好者核心价值免去逆向抓包的重复劳动接口参数、返回字段、坑点全部整理成文代码形态Python 为主附带 Alfred workflow、命令行小工具维护状态作者标注不再维护适合学习研究与自用项目把接口按要不要认证分成了三类思路很清晰页面爬取型靠解析网页源码拿数据比如视频排行、按条件筛选视频、按年月拉新番免认证API直接请求公开接口评论、专题、用户信息、本周最火都在这类需要appkey的API视频详情、新番、排行、搜索等更完整的数据部分还要求用 AppSecret 做 MD5 签名。三分钟跑通第一个接口上手不需要配环境装框架核心就一个bilibili.py文件加一个support.py工具模块。第一步把仓库拿下来git clone https://gitcode.com/gh_mirrors/bil/bilibili-api第二步找到接口文档。所有参数说明都在根目录的 api.md 里函数实现集中在 python API 和 python API。第三步跑一段最省事的代码——拿最近三个月全站的视频排行from bilibili import GetPopularVideo videos GetPopularVideo([2026, 5, 1], [2026, 8, 1], zone0, page1) for v in videos[:5]: print(v.aid, v.title, v.guankan)一个函数返回列表每个元素自带 AV号、标题、播放量、收藏数、弹幕数、封面、UP主ID等属性直接就能塞进自己的分析脚本里。能力地图三种途径各能拿什么数据需求推荐途径示例函数门槛分区排行、热门视频页面爬取GetPopularVideo()无视频评论单页/全量免认证APIGetComment()/GetAllComment()无用户信息、UP主投稿列表免认证APIGetUserInfoBymid()/GetVideoOfUploader()无专题视频、直播状态免认证APIGetVideoOfZhuanti()/IsLiving()无视频详情、综合排行、搜索appkey认证APIGetVideoInfo()/GetRank()/biliVideoSearch()需申请密钥下载地址、弹幕原文辅助APIGetBilibiliUrl()/ParseDanmuku()视接口而定排序方式的常量也提前定义好了收藏TYPE_SHOUCANG、评论数TYPE_PINGLUN、播放数TYPE_BOFANG、硬币TYPE_YINGBI、弹幕TYPE_DANMU写代码时不用记魔法字符串。三个值得抄作业的玩法玩法一把弹幕变成ASS字幕文件很多剪辑党想给视频配弹幕效果手动录屏不现实。项目里的 GetDanmuAss/GetAss.py 输入AV号就能生成可本地播放的ASS弹幕文件底层调用的正是ParseDanmuku(cid)danmus ParseDanmuku(cid) for d in danmus[:3]: print(d.t_video, d.content, d.danmu_color)每条弹幕都返回出现时间、发表时间、类型滚动/顶部/底部和颜色拿到结构化数据之后想做什么都方便——转ASS、做词频统计、分析弹幕高峰时段都行。批量抓专题弹幕的话参考GetDanmuAss/spview danmaku/目录下的脚本。玩法二排行数据 评论做内容分析GetPopularVideo支持按时间区间、分区、排序方式、原创与否组合筛选。比如只想要动画区最近三个月弹幕数最多的原创视频写法上把排序类型换成TYPE_DANMU、zone 传 1 即可。拿到视频列表后再配GetAllComment(aid)把评论拉全一套热门视频 用户口碑的简易选题库就搭起来了。注意评论区接口有历史限制细节见下面的避坑清单。玩法三解析出真实的视频下载地址GetVideoUrl/biliDownLoad.py 是把B站播放页地址转换成实际媒体地址的命令行小工具改造自开源项目 biligrab直接执行python biliDownLoad.py http://www.bilibili.com/video/av1687261/返回的 URL 列表可以直接交给下载工具。作者在文档里提示过返回地址会变化有时是多个6分钟的分段地址需要 ffmpeg 拼一下。常见报错与避坑清单报{code:-3, message:API sign invalid}搜索类接口必须使用新版appkey并配合 AppSecret 计算签名签名算法是把参数按键名排序后拼成字符串再做 MD5。算法在 api.md 的GetSign里有完整实现Python 和 JS 两个版本。评论接口拿不到老视频的数据老的 feedback 接口只能查 AV号小于 3280075 的视频url 加 ver2 或 ver3 只能拿到热门评论。想要全量评论改用GetComment_v2走x/reply接口。下载地址时好时坏正常现象。返回的地址经常变化有时是多个分段短视频用 ffmpeg 合并即可偶尔等一会儿再请求又会返回单个完整地址。接口报 -601 到 -604起始日期格式错误、结束日期格式错误、时间跨度过大、没传拼音参数——对照 api.md 里的错误码表逐项排查。还有几条通用提醒请求频率别太高作者明确说读取速度不能太快pagesize 建议控制在 300 以内部分接口如番剧索引pagesize 设太大可能返回 null项目已停止维护部分接口可能已经失效建议当作学习资源和功能参考不要用在生产环境。结语做数据的人最怕的不是没思路而是把时间耗在反复调试别人早该写好的接口上。这个仓库把 B站API 的地图和坑都标出来了哪怕只是当一份字段说明书来查也够回本了。延伸阅读完整接口文档api.mdPython 封装实现python API弹幕转字幕工具GetDanmuAss/GetAss.py下载地址解析GetVideoUrl/biliDownLoad.py番剧监控脚本bili-monitor/main.py【免费下载链接】bilibili-apiB站API收集整理及开发不再维护项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-api创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考