유튜브 댓글 추출 - yutyubeu daesgeul chuchul

1️⃣ Youtube API 키 발급

✓ Youtube API의 경우 종류가 3가지로 나뉜다

  • Youtube Data API(v3)
    유튜브와 관련된 기본적인 API로, 동영상을 업로드하거나 재생목록을 관리하는 등의 가장 기본적인 기능 제공
  • Youtube Analytics API
    유튜브의 동영상 및 채널에 대한 시청 통계, 인기도 통계 등 검색, 동영상 수익 관련 정보
  • Youtube Live Streaming API
    유튜브 방송을 예약하고 , 라이브 스트림을 관리
    -> 동영상 댓글 분석을 위한 용도로는 Youtube Data API(v3)가 적합함

2️⃣ 댓글 데이터 가져오기

1. Google Youtube API를 사용하려면

  • API 키, 유튜브 영상 ID가 필요함
  • 유튜브 영상 ID는 URL에서 'watch?v='뒤 문자들
  • API 사용을 위해 Google API Client 라이브러리를 다운
pip install google-api-python-client

2. 댓글 데이터 수집 소스코드

import pandas
from googleapiclient.discovery import build
 
 
api_key = '발급 받은 API 키'
video_id = '추출하고자 하는 동영상의 id'
 
comments = list()
api_obj = build('youtube', 'v3', developerKey=api_key)
response = api_obj.commentThreads().list(part='snippet,replies', videoId=video_id, maxResults=100).execute()
 
while response:
    for item in response['items']:
        comment = item['snippet']['topLevelComment']['snippet']
        comments.append([comment['textDisplay'], comment['authorDisplayName'], comment['publishedAt'], comment['likeCount']])
 
        if item['snippet']['totalReplyCount'] > 0:
            for reply_item in item['replies']['comments']:
                reply = reply_item['snippet']
                comments.append([reply['textDisplay'], reply['authorDisplayName'], reply['publishedAt'], reply['likeCount']])
 
    if 'nextPageToken' in response:
        response = api_obj.commentThreads().list(part='snippet,replies', videoId=video_id, pageToken=response['nextPageToken'], maxResults=100).execute()
    else:
        break
 
df = pandas.DataFrame(comments)
df.to_excel('results.xlsx', header=['comment', 'author', 'date', 'num_likes'], index=None)
 
  • comments: 댓글들을 저장할 리스트형 변수
  • api_obj: import한 build함수로 생성할 Google API객체
  • response: 입력한 id의 동영상 관련 정보가 전달되는 변수
  • API를 반복적으로 호출하여 원하는 정보를 저장
    : API문서를 확인하면 더 많은 정보 확인 가능
    - textDisplay: 댓글의 내용
    - authorDisplayName: 댓글 작성자
    - publishedAt: 댓글 작성 시간
    - likeCount: 좋아요 수
  • 수집한 데이터를 엑셀로 저장한다.
  • 4개의 컬럼이 생성된다

참고 글

댓글 보기, 정렬 또는 삭제

YouTube에 댓글을 올리고 댓글에 참여하는 방법

동영상 소유자가 댓글 기능을 사용하도록 설정한 경우 동영상에 댓글을 게시하고 다른 사용자의 댓글에 좋아요 및 싫어요 표시를 하거나 답글을 남길 수 있습니다.

동영상의 댓글 보기

동영상의 댓글을 보려면 동영상 페이지에서 스크롤하면 됩니다. 답글은 주고받은 내용을 확인하기 쉽게 대화목록으로 표시됩니다. YouTube 댓글은 공개되며 내가 게시한 댓글에 누구나 답글을 달 수 있습니다.

알림을 받은 후에 댓글을 찾을 수 없다면 댓글이 이미 삭제되었기 때문일 수 있습니다. 댓글은 댓글 작성자 또는 채널 소유자가 삭제하거나 정책 위반으로 삭제될 수 있습니다.

댓글 기록 보기

사용자는 본인이 YouTube에 남긴 공개 댓글을 볼 수 있습니다.

  1. 댓글 기록으로 이동합니다.
  2. 댓글을 게시한 원래 위치로 이동하려면 콘텐츠를 클릭하거나 탭합니다.

댓글을 단 동영상이 삭제되었거나 YouTube에서 정책 위반으로 댓글이 삭제된 경우 댓글이 기록에 나타나지 않습니다.

공유 가능한 댓글 링크 만들기

댓글의 타임스탬프를 클릭하거나 탭하여 하이라이트 댓글 링크를 만들 수 있습니다. 그러면 특정 댓글 및 이 댓글의 대화목록에 대한 공유 가능한 링크가 주소 표시줄에 표시됩니다.

가장 먼저 표시되는 댓글 변경

웹에서 동영상 아래에 댓글이 표시되는 방법을 변경할 수 있습니다. 정렬 기준 옵션을 사용해 인기 댓글순 또는 최근 댓글순을 선택합니다.

'하이라이트 댓글' 링크를 만들려면 타임스탬프를 클릭하세요. 그러면 댓글 대화목록이 분리되고 공유 가능한 링크가 주소 표시줄에 표시됩니다.

댓글 삭제

스마트 TV에서 댓글과 상호작용하기

이제 스마트 TV 또는 게임 콘솔에서 콘텐츠를 시청하면서 댓글을 보고 상호작용할 수 있습니다. 동영상의 댓글을 보려면 동영상의 보기 페이지로 이동하여 동영상 제목을 선택합니다. 동영상의 댓글 패널이 포함된 정보 섹션이 표시됩니다. 댓글 타일을 선택하면 다음을 포함해 동영상의 전체 댓글 목록을 확인할 수 있습니다.

  • 크리에이터가 고정한 댓글
  • 좋아요 수
  • 답글 수 

댓글을 선택하여 댓글 전체를 읽거나, 답글을 보거나, 좋아요 또는 싫어요를 표시할 수 있습니다.

댓글에 답글을 달거나 댓글을 게시하려면 스마트 TV 또는 게임 콘솔을 스마트폰과 동기화하고 스마트폰으로 댓글을 남겨 주세요. 

댓글이나 답글을 다는 방법은 다음과 같습니다.

  1. 스마트폰에서 YouTube 앱을 엽니다.
  2. 두 기기에서 동일한 Google 계정에 로그인되어 있는지 확인합니다.
  3. TV의 YouTube에 연결할지 묻는 팝업이 YouTube 앱에 열립니다.
  4. '연결'을 탭합니다.
  5. TV에서 시청 중인 동영상의 댓글이 YouTube 앱에 로드되어 원활하게 댓글을 게시하고 상호작용할 수 있습니다.

참고: 로그아웃한 상태에서 댓글을 볼 수는 있지만 답글을 달거나 댓글을 게시할 수는 없습니다.

도움이 되었나요?

어떻게 하면 개선할 수 있을까요?