当前位置: 首页 > news >正文

B站API整理项目实战指南:从视频排行到弹幕字幕,一次上手

B站API整理项目实战指南:从视频排行到弹幕字幕,一次上手

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

你是否有过这样的瞬间:想统计某位UP主的投稿趋势,想给追的番剧做一份播放量周报,或者想把视频弹幕转成字幕文件收藏起来——结果刚打开浏览器就发现,B站API分散在各处,参数五花八门,返回的JSON字段又多又乱?

今天要介绍的这款开源项目,正是一位老玩家把这些经验沉淀下来的成果。它把B站常用的数据接口收集、整理,并用Python封装成一个个函数,让你不必再从零去翻网页、猜参数、手工解析返回结果。

一个项目,覆盖B站数据的四大场景

这个项目的仓库路径为gh_mirrors/bil/bilibili-api,核心代码按使用难度分为三类:

类别代表能力使用门槛
网页爬取型视频排行、按条件筛选、按月获取新番无需任何密钥
免认证接口评论、用户信息、专题、直播状态无需任何密钥
需认证接口视频详情、新番列表、关键词搜索需appkey与AppSecret

无论你是想爬数据做分析、做内容创作,还是想进行二次开发,都能在这里找到合适的入口。

三步上手:先跑通第一个函数

第一步,克隆代码

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

第二步,定位核心模块。进入python API/目录:bilibili.py是API主体,所有功能函数都在这里;biclass.py定义了用户、视频、评论、新番等数据结构;support.py则提供HTTP请求、JSON解析、签名计算等底层支持。

第三步,写三行代码验证。试试拉取一周内的热门视频:

from bilibili import GetPopularVideo # 统计1月1日到1月7日的热门视频,按播放数排序 videos = GetPopularVideo([2024,1,1], [2024,1,7]) for v in videos[:5]: print(v.aid, v.title, v.guankan)

不出意外,你就能拿到包含AV号、标题、播放量、收藏数、弹幕数、封面、UP主信息的完整列表。

免认证接口:零成本开箱即用

这是项目里性价比最高的部分,多数常见场景根本不需要申请密钥:

  • 用户信息查询GetUserInfoBymid(mid)按ID查询,GetUserInfoByName(name)按昵称查询,返回性别、粉丝数、关注数、投稿数、所在地、个人简介等字段。
  • 视频评论抓取GetComment(aid)获取单页评论,GetAllComment(aid)自动翻页抓取全部评论,并支持按点赞数或热门排序。
  • 专题视频获取GetVideoOfZhuanti(spid)传入专题ID,即可拉取该专题下的全部视频。
  • 直播状态探测IsLiving(mid)判断UP主当前是否在直播,HasLiving(mid)查询其是否开通直播。
  • 弹幕内容下载:拿到视频cid后调用GetDanmukuContent(cid),即可获得原始弹幕XML数据。

比如,你想快速了解一位UP主的账号概况,几行代码就能完成:

from bilibili import GetUserInfoBymid me = GetUserInfoBymid(208259) print(me.name, me.fans, me.article)

进阶玩法:带密钥的认证接口

当你想获取视频的详细标签、硬币数、分P信息,或者按关键词搜索视频和专题时,就需要申请B站的appkey,并在调用时附带由AppSecret生成的签名。项目在api.md中给出了完整的签名算法(Python和JavaScript两个版本都有),照着GetSign()的实现改即可。

from bilibili import GetVideoInfo video = GetVideoInfo(170001, appkey="你的appkey", AppSecret="你的AppSecret") print(video.title, video.danmu, video.coin)

这一层接口能拿到的字段更丰富,适合做深度的数据分析和二次开发。

顺手好用的配套小工具

除了核心API,项目里还藏着不少实用脚本:

  • GetDanmuAss:输入AV号直接生成本地播放器可用的ASS弹幕字幕文件,看番追剧体验直接拉满 ✨
  • GetVideoUrl:输入视频页面地址,解析出真实下载地址,配合下载工具使用。
  • BiliMerge:把B站手机客户端离线下载的分段视频合并成一个完整文件。
  • bili-monitor:定时监控新番的播放、追番等数据变化。
  • bili_live_guaji:直播区挂机脚本,帮你积累直播间经验值。
  • bilibili-po:爬取UP主的关注关系网,并附带数据分析代码。

另外Alfred/目录下还有三个现成的Workflow(番剧查询、热门榜单、视频搜索),日常查资料可以少开几个网页。

使用前必读的几条提醒

  • 项目已停止维护,B站接口日新月异,部分旧接口可能失效,请把它当作学习和研究的参考资料。
  • 无论调用哪个接口,都请控制请求频率,批量抓取时适当暂停间隔,别给服务器添负担。
  • 认证接口中,旧版appkey已不可用,必须配合AppSecret使用签名才能正常工作。

结语

总的来说,这个项目就像一本"B站数据获取的武功秘籍":接口文档齐全,函数封装友好,配套工具实用。对想练手爬虫的新人来说,它是绝佳的入门教材;对有数据分析需求的老手来说,它也能帮你省下大量踩坑时间。

如果你正准备做B站相关的小项目,不妨把它克隆下来,先从拉一份排行榜开始试试看。动手,永远是最好的学习方式 🚀

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

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

http://www.jsqmd.com/news/1396018/

相关文章:

  • Thompson构造法:从正则表达式到NFA的完整实现与调试指南
  • 大模型时代TTS技术实战:从原理到应用的全链路指南
  • 应对公司电脑强制锁屏:合规优化与脚本方案详解
  • 渗透测试实战:从信息收集到内核提权全流程解析
  • HBase集群搭建实战:从HDFS/ZK配置到核心参数调优详解
  • Java面试核心体系:JVM、并发、Spring与数据库实战解析
  • 企业视频实时语音转写怎么做?——灵声智库流式 ASR、说话人区分与多会议室并发实践
  • 百度安全“龙虾”全家桶:安全产品的趣味营销解析
  • 工厂方法模式:优雅解耦对象创建,提升代码可维护性与扩展性
  • MPO光纤连接器:高密度数据中心布线的核心原理与实战指南
  • C++高并发编程:双缓冲无锁队列设计与实现
  • Anaconda默认启动环境配置指南:关闭base自动激活与多环境管理
  • 黄金票据与白银票据:Kerberos协议下的权限维持攻击与防御实战
  • LangChain+LangGraph+DeepAgent构建企业级AI Agent长期记忆架构实战
  • 从零搭建Hadoop 3.3.6集群:超详细步骤与核心配置解析
  • 浅拷贝与深拷贝:从内存模型到实战选型,彻底理解数据复制
  • Win7/Win10/Win11 C盘空间清理与优化全攻略
  • UE5 Niagara实战:从零构建《失落方舟》风格火焰剑气特效
  • 现在做的新站不收录
  • 数学建模竞赛:动态优化与需求预测在库存定价决策中的应用
  • AI漫剧制作全流程:从剧本到成片的技术拆解与工程实践
  • 算力泛在化:从GPU租赁到多卡调度的AI开发实战指南
  • Windows系统下Ventoy安装失败全解析:从权限、杀软到磁盘锁定的完整解决方案
  • 爬虫救大命!手动收集数据太耗时,Python爬虫一键搞定
  • 多租户数据隔离实战:从逻辑到物理的四种核心模式与工程实现
  • OpenClaw智能体框架部署与实战:从Docker到多模型管理
  • 在Xcode中集成Vim模式:XVim2插件完整安装与配置指南
  • 推荐义乌帆布点塑防滑厂 - 品牌推广大师
  • 非传统优势专业学生如何在国际数学建模竞赛中突围:以APMCM为例
  • 掌握8421快速转换法:二进制、十六进制与十进制高效互转技巧