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

如何使用Python下载哔哩哔哩(Bilibili)视频字幕

在本文中,我将向大家展示如何使用Python下载哔哩哔哩(Bilibili)视频的字幕。通过这个方法,你可以轻松地获取你喜欢的视频的字幕文件,方便学习和交流。

准备工作

在开始之前,我们需要安装一些必要的库,确保你已经安装了requestsjson库,如果没有安装,可以使用以下命令安装:

pip install requests

下载字幕

下面是一个Python脚本,可以帮助你下载指定哔哩哔哩视频的字幕。你只需要将视频的BV号(BV号是Bilibili视频的唯一标识符)替换到代码中的BVID变量中,运行脚本即可下载字幕文件。

"""下载哔哩哔哩 字幕
"""
import math
import os
import time
import requests
import jsondef download_subtitle_json(bvid: str):"""下载字幕"""sub_dir = f'./{bvid}'if not os.path.isdir(sub_dir):os.mkdir(f'./{bvid}')headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:125.0) Gecko/20100101 Firefox/125.0','Accept': 'application/json, text/plain, */*','Accept-Language': 'en-US,en;q=0.5','Referer': f'https://www.bilibili.com/video/{bvid}/?p=1','Origin': 'https://www.bilibili.com','Connection': 'keep-alive','Cookie': "xxxxxxxx",'Sec-Fetch-Dest': 'empty','Sec-Fetch-Mode': 'cors','Sec-Fetch-Site': 'same-site',}resp = requests.get(f'https://www.bilibili.com/video/{bvid}/', headers=headers)text = resp.textaid = text[text.find('"aid"') + 6:]aid = aid[:aid.find(',')]cid_back = requests.get("http://api.bilibili.com/x/player/pagelist?bvid={}".format(bvid), headers=headers)if cid_back.status_code != 200:print('获取 playlist 失败')cid_json = json.loads(cid_back.content)for item in cid_json['data']:cid = item['cid']title = item['part'] + '.json'params = {'aid': aid,'cid': cid,'isGaiaAvoided': 'false','web_location': '1315873','w_rid': '364cdf378b75ef6a0cee77484ce29dbb','wts': int(time.time()),}wbi_resp = requests.get('https://api.bilibili.com/x/player/wbi/v2', params=params, headers=headers)if wbi_resp.status_code != 200:print('获取 字幕链接 失败')subtitle_links = wbi_resp.json()['data']["subtitle"]['subtitles']if subtitle_links:# 默认下载第一个字幕subtitle_url = "https:" + subtitle_links[0]['subtitle_url']subtitle_resp = requests.get(subtitle_url, headers=headers)open(os.path.join(sub_dir, title), 'w', encoding='utf-8').write(subtitle_resp.text)if __name__ == '__main__':BVID = 'BV11T42117FY'download_subtitle_json(BVID)
# 请将视频的BV号替换为你想要下载字幕的视频BV号
BVID = 'BV11T42117FY'
download_subtitle_json(BVID)

运行结果:

 

感谢大家的阅读!如果你有任何问题或建议,欢迎在评论区留言。谢谢!

http://www.lryc.cn/news/350102.html

相关文章:

  • IP代理网络协议介绍
  • 渗透相关面试+流量分析
  • Shell之高效文本处理命令
  • u3d的ab文件注意事项
  • Go微服务开源框架kratos的依赖注入关系总结
  • Linux 第三十二章
  • 手机号码的正则表达式
  • 机器学习入门介绍
  • 一文说通用户故事点数是什么?
  • GAME101-Lecture07学习
  • 【一步一步了解Java系列】:了解Java与C语言的运算符的“大同小异”
  • ICSE docker related research
  • 【C++】学习笔记——多态_1
  • C++map容器关联式容器
  • TS-抽象类和静态成员
  • SharePoint 使用renderListDataAsStream方法查询list超过5000时的数据
  • 2024042001-计算机网络 - 物理层
  • 通过java将数据导出为PDF,包扣合并单元格操作
  • Java内存模式以及volatile关键字的使用
  • 每日5题Day3 - LeetCode 11 - 15
  • 路由器、交换机和网卡
  • 腾讯开源混元DiT文生图模型,消费级单卡可推理
  • shell脚本基础(if/else结构)
  • 万字长文破解 AI 图片生成算法-Stable diffusion (第一篇)
  • Linux---编辑器vim的认识与简单配置
  • lucene中Collector类、CollectorManager类区分和用法
  • Android之给Button上添加按压效果
  • python EEL + vue3.js 项目中如何把组件中的函数提升为全局函数
  • sqli-labs靶场第十四关
  • 【C语言】6.C语言VS实用调试技巧(1)