【问题标题】:Pytube caption generating issuePytube 字幕生成问题
【发布时间】:2020-07-21 14:56:17
【问题描述】:

我有 YouTube 链接。我需要从视频中提取字幕。我的代码是 -

from pytube import YouTube
yt = YouTube('https://youtu.be/.....')
caption =yt.captions.get_by_language_code('en')
print(caption.generate_srt_captions())
 
Output = > 00:00:01 --> 00:00:02
This is caption ex..
00:00:03--> 00:00:04
This is second line

需要那种类型的输出?????????

这是标题这是第二行

【问题讨论】:

  • 有什么问题?

标签: python pytube


【解决方案1】:

输出是字符串,所以你可以使用 .split('\n')。我制作了简单的 for 循环来遍历每一行,并且只将时间和标题保存到字典中。这不是最好的解决方案,但它确实有效。

from pytube import YouTube


caption_list = []
index = 0
yt = YouTube('https://youtu.be/.....')
caption = yt.captions.get_by_language_code('en')
for line in str(caption.generate_srt_captions()).split('\n'):
    if index == 0:
        caption_list.append({})
    if index in (1, 2):
        caption_list[len(caption_list)-1][('time', 'caption')[index-1]] = line
    index += 1
    if line == '':
        index = 0
for dic in caption_list:
    print('{} : {}'.format(dic['time'], dic['caption']))

【讨论】:

    猜你喜欢
    • 2021-02-01
    • 1970-01-01
    • 2022-11-19
    • 1970-01-01
    • 1970-01-01
    • 2014-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多