팀프로젝트/유튜브 요약+키워드 추출+정보획득 서비스

02. 유튜브 텍스트 추출(자막이 있는 경우)

죠으니 2022. 5. 24. 16:36

 유튜브에는 자막이 있는 영상과 자막이 없는 영상이 있다.

경우의 수가 두 가지니깐 방법도 두가지로 나눠서 텍스트를 추출하였다.

우선 자막이 있는 경우부터 텍스트를 추출해보자

PyTube

유튜브 URL 입력 -> 언어 코드 선택('ko.7XP2tGORuV4') -> 전처리(불용어) -> 텍스트 추출

 

from pytube import YouTube
video_url = 'https://www.youtube.com/watch?v=kbk8Z5hkx6Y'
yt = YouTube(video_url)
yt.captions.all()

caption = yt.captions.get_by_language_code('ko.7XP2tGORuV4')

# 언어로 자막 선택하기
## 한글 자막 1순위로 선택하기. 만약 한글 자막이 없다면 자막 리스트 중 첫 번째 자막 선택하기
caption = yt.captions.get_by_language_code('ko.7XP2tGORuV4')
if caption == None:
    caption = yt.captions.all()[0]
# 자막 살펴보기(xml 포맷)
caption.xml_captions
# 자막 살펴보기(srt 포맷)
print(caption.generate_srt_captions())
# 텍스트 전처리
text = caption.xml_captions

import re
불용어 = ['<[^가-힣]+>', '&[^가-힣]+;', '(박수 소리)', '\n', '-( )', '-(특파원)', ':' , '(앵커)', '(기자)']
for i in 불용어:
    text = re.sub(i,' ', text)

text
# 저장
import sys

f = open('news.txt', 'w')

f.write(text)

f.close()