📜  如何使用Python的Pytube 以 XML 格式下载公共 YouTube 字幕?

📅  最后修改于: 2022-05-13 01:55:08.678000             🧑  作者: Mango

如何使用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)


输出:

XML 字幕