팀프로젝트/유튜브 요약+키워드 추출+정보획득 서비스
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()