如何使用Python的Pytube 以 XML 格式下载公共 YouTube 字幕?
先决条件:Pytube
Pytube 是一个无依赖的轻量级Python库,用于下载 YouTube 视频。有多种 API 可以从 YouTube 获取元数据。在本文中,我们将了解如何使用Python以 XML 格式下载公共 YouTube 字幕。
在开始之前,我们需要安装这个模块:
pip install pytube
方法:
- 导入 pytube :从 pytube 导入 YouTube。
- 使用YouTube()函数实例化对象,该函数将 youtube 视频链接作为参数。
- 例如,下面代码中的实例是“src” ,它有一个标题属性,用于获取特定视频的语言列表及其各自的语言代码。
- 要获得特定语言的字幕,我们使用get_by_language_code('en') en 代表英语,如下面的代码所示。
- 默认情况下,字幕仅以 XML 格式下载。
- 要将其显式转换为字符串数据类型,我们需要使用“ generate_srt_captions() ”对其进行类型转换,如下面的代码所示。
下面是实现:
Python3
from pytube import YouTube
link = 'https://www.youtube.com/watch?v=wjTn_EkgQRg&index=1&list=PLgJ7b1NurjD2oN5ZXbKbPjuI04d_S0V1K'
src = YouTube(link)
# prints all available captions in various languages.
print('Captions Available: ', src.captions)
print()
# Getting only English captions by specifying 'en' as parameter
en_caption = src.captions.get_by_language_code('en')
print(en_caption.xml_captions)
# Instead of Captions in XML format we are converting it to string format.
en_caption_convert_to_srt = (en_caption.generate_srt_captions())
print(en_caption_convert_to_srt)
输出: