IT

YouTube 동영상 텍스트 추출하기: 초보자를 위한 상세 가이드

esmile1 2025. 1. 16. 09:24

YouTube 동영상 텍스트 추출하기: 초보자를 위한 상세 가이드

안녕하세요! 오늘은 YouTube 동영상에서 텍스트를 추출하는 방법을 아주 쉽게 설명해드리겠습니다. 외부 프로그램 없이 Chrome 브라우저만으로 작업하는 방법을 배워보겠습니다.

필요한 정보

작업에 필요한 두 가지 중요한 URL입니다:

  1. Cloud Function URL:
<https://us-central1-youtube-data-sheet.cloudfunctions.net/youtubetranscriber1>

  1. 텍스트를 추출할 YouTube 동영상 URL:
<https://www.youtube.com/watch?v=cQk5BJwy1Xw>

30단계 상세 가이드

기본 준비

  1. Chrome 브라우저를 실행합니다.
  2. 키보드에서 F12 키를 누릅니다. (또는 Ctrl + Shift + I)
  3. 개발자 도구가 열리면 상단의 "Console" 탭을 클릭합니다.

코드 입력

  1. 콘솔에 다음 코드를 한 줄씩 신중하게 입력합니다:
fetch('<https://us-central1-youtube-data-sheet.cloudfunctions.net/youtubetranscriber1>', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    url: '<https://www.youtube.com/watch?v=cQk5BJwy1Xw>'
  })
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));

코드 실행 및 확인

  1. 전체 코드를 입력한 후 Enter 키를 누릅니다.
  2. "Network" 탭을 클릭합니다.
  3. "Fetch/XHR" 필터를 선택합니다.
  4. 요청이 전송되는 것을 확인합니다.

결과 확인

  1. 응답이 오면 응답 내용을 확인합니다.
  2. 텍스트가 성공적으로 추출되었는지 확인합니다.

자주 발생하는 오류와 해결방법

CORS 오류 발생 시

  1. 다음과 같이 코드를 수정해봅니다:
fetch('<https://cors-anywhere.herokuapp.com/https://us-central1-youtube-data-sheet.cloudfunctions.net/youtubetranscriber1>', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    url: '<https://www.youtube.com/watch?v=cQk5BJwy1Xw>'
  })
})

네트워크 오류 발생 시

  1. 인터넷 연결을 확인합니다.
  2. URL이 정확한지 다시 한 번 확인합니다.
  3. Cloud Function이 활성화되어 있는지 확인합니다.

응답 오류 발생 시

  1. 콘솔에 표시된 오류 메시지를 확인합니다.
  2. YouTube 동영상이 공개 상태인지 확인합니다.
  3. 동영상 URL이 올바른지 확인합니다.

추가 기능

응답 데이터 저장하기

  1. 다음 코드를 사용하여 결과를 변수에 저장할 수 있습니다:
let transcribedText;
fetch('<https://us-central1-youtube-data-sheet.cloudfunctions.net/youtubetranscriber1>', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    url: '<https://www.youtube.com/watch?v=cQk5BJwy1Xw>'
  })
})
.then(response => response.json())
.then(data => {
  transcribedText = data;
  console.log('저장된 텍스트:', transcribedText);
})

텍스트 파일로 저장하기

  1. 추출된 텍스트를 파일로 저장하려면 다음 코드를 사용합니다:
.then(data => {
  const blob = new Blob([JSON.stringify(data, null, 2)], {type: 'text/plain'});
  const url = window.URL.createObjectURL(blob);
  const a = document.createElement('a');
  a.href = url;
  a.download = 'youtube-transcript.txt';
  a.click();
})

고급 기능

여러 동영상 처리하기

  1. 여러 동영상을 한 번에 처리하려면 다음과 같이 코드를 작성합니다:
const videos = [
  '<https://www.youtube.com/watch?v=cQk5BJwy1Xw>',
  // 추가 동영상 URL들
];

Promise.all(videos.map(video =>
  fetch('<https://us-central1-youtube-data-sheet.cloudfunctions.net/youtubetranscriber1>', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({ url: video })
  }).then(response => response.json())
))
.then(results => {
  console.log('모든 결과:', results);
})

진행 상태 모니터링

  1. 진행 상태를 확인하려면 다음 코드를 사용합니다:
fetch('<https://us-central1-youtube-data-sheet.cloudfunctions.net/youtubetranscriber1>', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    url: '<https://www.youtube.com/watch?v=cQk5BJwy1Xw>'
  })
})
.then(response => {
  console.log('상태:', response.status);
  return response.json();
})

문제 해결 팁

  1. 요청이 실패하면 다음 사항을 확인하세요:
  • 인터넷 연결 상태
  • URL 정확성
  • YouTube 동영상 접근 가능 여부
  • Cloud Function 상태
  1. 응답이 너무 오래 걸리면:
  • 동영상 길이 확인
  • 네트워크 상태 확인
  • 다른 시간대에 다시 시도
  1. 텍스트가 올바르게 추출되지 않으면:
  • 동영상에 자막이 있는지 확인
  • 동영상 언어 설정 확인
  • Cloud Function 로그 확인

보안 주의사항

  1. API 키나 민감한 정보는 절대 공개하지 마세요.
  2. HTTPS를 사용하는 URL만 사용하세요.
  3. 요청 횟수를 적절히 제한하세요.
  4. 응답 데이터를 안전하게 처리하세요.
  5. 개인정보가 포함된 동영상은 주의해서 처리하세요.
  6. 모든 작업이 완료되면 개발자 도구를 닫으세요.

결론

이 가이드를 따라하면 Chrome 브라우저만으로도 YouTube 동영상에서 텍스트를 추출할 수 있습니다. 처음에는 복잡해 보일 수 있지만, 단계별로 차근차근 따라하면 충분히 할 수 있습니다.

중요한 점은 각 단계를 정확히 따르고, 오류가 발생했을 때 당황하지 않고 제시된 해결 방법을 차례대로 시도해보는 것입니다.

실습을 통해 익숙해지면, 이 기술을 다양한 용도로 활용할 수 있을 것입니다. 화이팅!