news 2026/8/14 12:50:41

想抓B站数据却总卡在接口上?这份B站API开源指南给出完整解法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
想抓B站数据却总卡在接口上?这份B站API开源指南给出完整解法

想抓B站数据却总卡在接口上?这份B站API开源指南给出完整解法

【免费下载链接】bilibili-apiB站API收集整理及开发,不再维护项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-api

做内容运营、写爬虫练手,或单纯想分析关注的UP主时,你是不是也遇到过这样的尴尬:想批量拉一份B站视频榜单,浏览器翻页翻到手酸;想查某位UP主的粉丝与投稿,却对着网页源码无从下手。这些需求的共同点,是都需要调用B站API——而B站API的认证、签名、参数规则,对新手并不算友好。

GitHub加速计划旗下的 bilibili-api 项目,正是为这个痛点而生。它把散落在B站各处的接口统一收集整理,用 Python 封装成一个个开箱即用的函数,还附带弹幕转字幕、视频下载、新番监控等现成脚本,把B站数据采集从"抓网页"升级成"调函数"。

先看清仓库里有什么

整个项目的能力可以分成三层:

能力层次覆盖内容使用门槛
免认证公开接口用户信息、评论、排行、专题、直播状态clone 即用
需认证接口视频详情、新番列表、搜索需 appkey
现成工具脚本弹幕转 ASS、视频解析、番剧监控按 README 运行

两分钟跑通第一个接口

先把仓库拉到本地:

git clone https://gitcode.com/gh_mirrors/bil/bilibili-api

接着引入封装好的 python API/bilibili.py。下面这段代码解决"不登录也能查到用户信息"的问题,返回的是字段清晰的 User 对象:

info = GetUserInfoBymid(2) print(info.fans) # 粉丝数 print(info.article) # 投稿数 print(info.followlist) # 关注列表

sex(性别)、rank(账号等级)、place(所在地)等字段一应俱全,不用再对着 JSON 层层取键。

三个高频数据场景的取法

① 视频评论批量导出。想分析评论区风向?GetAllComment(aid)一行拉全,翻页逻辑已内置;新接口GetComment_v2(aid, page, order)则支持按热门、按点赞排序。

② 弹幕内容结构化解析。把视频 cid 交给ParseDanmuku(cid),返回每条弹幕的时间戳、类型(滚动/顶部/底部)、颜色和文本,做弹幕词云、互动分析都很顺手。

③ 多条件排行筛选。GetPopularVideo(begintime, endtime, sortType, zone, page)支持按播放数、硬币数、弹幕数排序,并可锁定任意分区与时间窗口,追热榜、找选题不再靠肉眼。

完整的参数含义与分区编号对照表,都写在 api.md 里;再配合 README 中 Video、Comment、Bangumi、ZhuantiInfo 等数据类的定义一起读,理解成本会低很多。

数据拿到手之后,还能再玩一把

弹幕转字幕文件。运行 GetDanmuAss/GetAss.py,输入 av 号即可生成 ASS 字幕,挂进播放器就能看"本地满屏弹幕"。

视频地址解析。GetVideoUrl/biliDownLoad.py 输入视频 URL 返回下载地址;手机客户端离线缓存的视频碎片,则交给BiliMerge/BiliMergeFlv.py合并为完整文件。

其他可复用脚本:bilibili-po 爬取 UP 主关注关系网络、bili-monitor 监控新番更新动态、Alfred 目录下还有现成的热搜与搜索 workflow 可直接导入。

三个避坑提醒

  • 项目已停止维护,接口随时可能失效,更适合作为学习参考而非生产依赖;
  • 老评论接口有 av 号限制,仅支持 av 号小于 3280075 的视频,新视频请改用GetComment_v2
  • 需认证的接口要按 api.md 里的算法生成 sign 签名,否则会返回-3错误;调用频率也请保持克制,别给服务器添负担。

想亲自体验"一行代码拿到整个B站数据"的感觉,现在就 clone 仓库,从第一个函数开始吧。

【免费下载链接】bilibili-apiB站API收集整理及开发,不再维护项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-api

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/14 12:41:03

新手 3 步完成文件转 Markdown 转换:MarkItDown 上手体验全记录

新手 3 步完成文件转 Markdown 转换:MarkItDown 上手体验全记录 【免费下载链接】markitdown Python tool for converting files and office documents to Markdown. 项目地址: https://gitcode.com/GitHub_Trending/ma/markitdown 周五下午五点半&#xff0…

作者头像 李华
网站建设 2026/8/14 12:40:25

NumCL高级特性:Einsum与广播机制的使用方法详解

NumCL高级特性:Einsum与广播机制的使用方法详解 【免费下载链接】numcl Numpy clone in Common Lisp 项目地址: https://gitcode.com/gh_mirrors/nu/numcl NumCL作为Common Lisp环境下的Numpy克隆实现,提供了强大的数组操作能力。其中Einsum和广播…

作者头像 李华