新人入圈 👉 点击这里 👈
(备用微信号: domsm789 )
其实做这件事并不需要去写很复杂的爬虫代码,因为B站官方已经提供了获取视频字幕数据的开放接口,我们只需要利用Python的 requests 库发请求把数据拿回来,再通过解析JSON格式就能轻松搞定。
首先你得准备好Python环境,然后在命令行里安装一下这个库,命令非常简单就是 pip install requests,这就是我们用来和网页数据打交道的唯一工具。
接下来我们来写核心代码,第一步你需要的是一个能够解析BV号变成分区ID的函数,因为接口需要的参数是CID而不是BV号,但用户输入通常都是BV号,所以在请求接口之前必须把这个转换过程走完。
拿到正确的CID之后,我们就可以构造请求数据包去调用B站API了,这里需要注意加上 Referer 海报头的伪装,不然数据接口可能会拒绝访问,这就像你访问一个网页必须告诉对方你是谁一样。
当我们成功获取到了字幕的JSON数据后,就会发现里面有一个叫 body 的列表,里面包含了所有的字幕片段,每个片段都有 from(开始时间)、to(结束时间)和 content(文字内容)这三个关键字段。

最后也是最关键的一步就是格式化输出,我们用循环遍历取出这些时间戳和文字,拼凑成一个标准的Markdown.Markdown格式之所以好用,就是因为它的层级结构非常清晰,适合我们做大纲。
你可以把这些代码保存成一个Python脚本文件,然后在文件里填入你自己想提取的视频BV号,运行完就能在终端里看到类似下面这样的大纲结构,这一串字符就是我们要的Markdown代码。
你会看到每一条都包含了精确到秒的时间轴标记,后面跟着视频里对应的讲解内容,你可以直接复制这些代码,粘贴到你常用的笔记软件或者Notion里去,瞬间就能得到一份结构完整的大纲文档。
当然啦,这种方法只能提取弹幕开关开启或者B站上传者自带的字幕,如果你喜欢的UP主没有放字幕,那我们就只能通过OCR技术来把视频画面识别成文字,不过那就要涉及到图像处理库的操作了,在没有字幕的情况下会稍微复杂一点。
通过这种方式,我们不仅是在做自动化的任务,更是在建立自己专属的信息整理系统,让那些枯燥的视频内容变成可视化的知识树,这确实是提升学习效率的一个小技巧。
希望这篇文章能帮到有需要的朋友,如果你对Python代码或者API的使用还有疑问,随时可以在评论区留言我们一起讨论。
新人入圈 👉 点击这里 👈
(备用微信号: domsm789 )