goodthings4me.tistory.com
챗GPT를 사용하여 파이썬 코드를 작성하는 연습을 하기 위해 유튜브 영상에 있는 스크립트를 추출하는 프로그램을 질문했다.
chatGPT에서 유튜브 영상 스크립트 추출하는 파이썬 코드를 물어보면..
Q. 질문(Prompt) : 유튜브 영상 https://www.youtube.com/watch?v=xxxxxx에서 스크립트를 추출하는 파이썬 프로그램을 알려줘요.
A. 결과 : 유튜브 영상에서 스크립트를 추출하려면 Google API를 사용하여 자동 생성된 자막을 다운로드해야합니다.
1. Google API 사용자 인증 및 라이브러리 설치
- Google Cloud Platform에서 프로젝트 생성 및 사용자 인증 설정
- google-auth와 google-api-python-client 패키지 설치
2. YouTube 자막 다운로드
- googleapiclient.discovery를 사용하여 YouTube Data API를 초기화
- captions().list()를 사용하여 비디오의 자막 ID 가져오기
- captions().download()를 사용하여 자막 다운로드
3. 자막 처리
- XML 파서를 사용하여 자막 XML 파일에서 텍스트 추출
- 텍스트 정규화 및 전처리
파이썬 코드 예시
해당 코드를 실행하기 위해서는 Google API 사용자 인증 및 API 키를 가져와야 합니다.
import google.auth
from googleapiclient.discovery import build
from googleapiclient.errors import HttpError
from google.oauth2.credentials import Credentials
from xml.etree import ElementTree
# 사용자 인증 및 YouTube API 초기화
creds, project = google.auth.default(scopes=["https://www.googleapis.com/auth/youtube.force-ssl"])
youtube = build("youtube", "v3", credentials=creds)
# 자막 ID 가져오기
def get_caption_id(youtube, video_id):
captions = youtube.captions().list(
part="id",
videoId=video_id
).execute()
if captions["items"]:
return captions["items"][0]["id"]
return None
# 자막 다운로드
def download_captions(youtube, caption_id):
subtitle = youtube.captions().download(
id=caption_id,
tfmt="vtt"
).execute()
return subtitle
# XML 파서를 사용하여 자막 텍스트 추출
def parse_captions(xml_data):
root = ElementTree.fromstring(xml_data)
text = []
for p in root.iter("p"):
if p.text:
text.append(p.text)
return "\n".join(text)
# 비디오 ID 및 자막 ID 설정
video_id = "8qS0B7BfLZs"
caption_id = get_caption_id(youtube, video_id)
# 자막 다운로드 및 처리
if caption_id:
subtitle = download_captions(youtube, caption_id)
text = parse_captions(subtitle)
print(text)
else:
print("자막이 없습니다.")
※ 위 코드의 실행은 구글 API 사용자 인증이 되어 있어야 할 수 있었다. 그래서 Google API 사용자 인증 절차를 챗GPT에 아래처럼 다시 질의해봤다.
Q. 질문 : Google API 사용자 인증하는 절차를 알려줘요.
A. 결과 : Google API 사용자 인증을 위해서는 다음 단계를 따라야 합니다.
1. Google Cloud Platform에 로그인하고 새 프로젝트를 만듭니다.
2. Google API 사용 설정
- "API 및 서비스"에서 "API 및 서비스 라이브러리"로 이동
- 원하는 API를 검색하여 활성화
3. 사용자 인증 정보 만들기
- "API 및 서비스"에서 "사용자 인증 정보"로 이동
- "사용자 인증 정보 만들기"를 선택하고 "OAuth 클라이언트 ID"를 선택
- "OAuth 클라이언트 ID 만들기"를 선택하고 요구 사항에 따라 설정
- 클라이언트 ID와 클라이언트 비밀번호가 생성됩니다.
4. 권한 부여
- 권한 부여 페이지로 이동하여 프로젝트와 사용자를 선택하고 권한을 부여합니다.
5. 권한 부여 파일 다운로드
- "API 및 서비스"에서 "사용자 인증 정보"로 이동
- "OAuth 2.0 클라이언트 ID" 섹션에서 권한 부여 파일을 다운로드합니다.
위 단계를 완료하면 파이썬 코드에서 권한 부여 파일을 사용하여 Google API에 액세스할 수 있습니다.
챗gpt를 사용하면 바로 실행할 수 있는 코드를 얻기 보다는 실행할 수 있는 가이드 코드를 얻을 수 있다고 봐야 할 듯 하고, 위 코드를 수정하여 실행하려면 구글 API가 먼저 있어야 하니 그것부터 생성해야겠다.
'IT(Tip)' 카테고리의 다른 글
빅데이터분석기사 유튜브 채널 (0) | 2023.02.21 |
---|---|
구글 API - 사용자 인증 정보 생성하기 (0) | 2023.02.16 |
KBoard 게시판 제목 폰트 변경하는 방법 (0) | 2022.12.04 |
Windows 11 전원 설정 옵션 조정하기 (0) | 2022.12.03 |
윈도우 동영상 자르기 (0) | 2022.12.01 |
댓글