-2

我使用以下代码将 youtube 视频转录为文本,但结果有点奇怪。单词之间没有空格,有些是俱乐部在一起的。

#import libraries
from youtube_transcript_api import YouTubeTranscriptApi as yta
import re

#select any youtube video
vid_id = 'S4lTtvlFvyk'

#extract text
data = yta.get_transcript(vid_id)

#make your transcript more better
transcript=''
for value in data:
    for key,val in value.items():
        if key == 'text':
            transcript += val
l=transcript.splitlines()
final_tra = " ".join (l)


#write out transcript in the file
file=open(r"C:\Users\user.name\Desktop\python\DATA\Video files\trans.txt",'w')
file.write(final_tra)
file.close()

输出文件如下所示:

看看我,苹果工程师去绘图板做一个更好的面具苹果实际上为他们店里的员工设计了他们自己的面具,他们实际上有几个不同的版本,但这是一种标准,这是大多数员工会戴的它是最常戴的Apple 的员工将在此视频的结尾处获得一些 iphone12 后期案例的新闻,所以请坚持下去是官方applemask 这是中号可重复使用的面罩有关更多信息,请访问welcomeforward.apple。对我来说很疯狂的是包装这一切都是苹果式的,你可以告诉我们,我们有一个看起来像序列号的东西,绝对是一个项目号,批号和生产日期,就像其他所有东西一样,这里的东西非常详细,开箱体验看起来有点像超过

有些单词相互合并,不会产生任何空间。请为此提供适当的解决方案。

4

1 回答 1

0

这可能无法准确地为您提供所需的输出格式,但它更简洁并克服了单词合并问题。如果您转储(打印)由 get_transcript() 返回的字典,您将更好地了解发生了什么。

from youtube_transcript_api import YouTubeTranscriptApi as yta
import re

# select any youtube video
vid_id = 'S4lTtvlFvyk'

# make your transcript more better
transcript = []
for value in yta.get_transcript(vid_id):
    transcript.append(value['text'])

final_tra = ' '.join(transcript)

# write out transcript in the file
with open(r'C:\Users\user.name\Desktop\python\DATA\Video files\trans.txt', 'w') as outfile:
    outfile.write(final_tra)
于 2021-07-27T11:47:15.393 回答