본문 바로가기
문송충의 코딩하기/파이썬 데이터 분석

[파이썬] - Youtube API를 활용해서 네고왕 영상 콘멘트 가져오기

by 동장군님 2020. 11. 15.
728x90
반응형

지난 포스팅에 이어 광희가 진행하고 있는 Youtube 네고왕 첫 번째 에피소드 영상에 달린 댓글을 가져오도록 하겠다. 아래 포스팅에서 네고왕 영상에 부여된 ID값을 다 갖고 왔기 때문에 바로 추출할 수 있다.

 

2020/11/14 - [문송충의 코딩하기/파이썬 데이터 분석] - [파이썬] - 유튜브 API를 활용해서 네고왕 조회, 좋아요, 댓글 수 가져오기

 

[파이썬] - 유튜브 API를 활용해서 네고왕 조회, 좋아요, 댓글 수 가져오기

[파이썬] - 유튜브 API를 활용해서 네고왕 조회, 좋아요, 댓글 수 가져오기 요즘 유튜브에서 가장 핫한 콘텐츠 중에 하나가 바로 네고왕이다. 광희 목소리가 부담스러워서 나는 한 번도 콘

yobro.tistory.com

 

Python Code

코드가 조금 복잡하다. 댓글을 한번에 100개 밖에 출력하지 못하기 때문에 여기서 제공하고 있는 'nextpageToken" 파라미터를 반복문으로 돌려야만 데이터를 최대 많이 가져올 수 있다.

 

from googleapiclient.discovery import build
from googleapiclient.errors import HttpError
from oauth2client.tools import argparser

DEVELOPER_KEY = "~" #유튜브 API 키 값
YOUTUBE_API_SERVICE_NAME = "youtube"
YOUTUBE_API_VERSION = "v3"

youtube = build(YOUTUBE_API_SERVICE_NAME, YOUTUBE_API_VERSION,developerKey=DEVELOPER_KEY)

reviews=[]
cm=youtube.commentThreads().list(
    videoId = "IbLOGQy_ioM",
    order = "relevance",
    part = "snippet",
    maxResults = 100
).execute()
for i in cm['items']:
    reviews.append(i['snippet']['topLevelComment']['snippet']['textOriginal'])

npt=cm['nextPageToken']

while 'nextPageToken' in cm.keys():

    cm=youtube.commentThreads().list(
        videoId = "IbLOGQy_ioM",
        order = "relevance",
        part = "snippet",
        maxResults = 100,
        pageToken=npt
    ).execute()
    for i in cm['items']:
        reviews.append(i['snippet']['topLevelComment']['snippet']['textOriginal'])  
    
    if 'nextPageToken' in cm.keys():
        npt=cm['nextPageToken']
    else:
        break
        
adf=pd.DataFrame(reviews,columns=['Comments'])

 

위 코드를 통해서 코멘트를 추출하면 약 1500 여 개의 데이터가 있음을 확인할 수 있다. 다만 유튜브에는 2200여 개의 코멘트가 있어 두 데이터 간 차이가 있다. 이 오류?를 해결하려고 했는데 잘 안돼서 좀 더 살펴보도록 하겠다. 우선 여기서는 코드를 뽑을 수 있는 댓글 수만 가져와 봤다.

 

 

다음 포스팅에서는 이번에 뽑은 데이터를 갖고 텍스트 분석을 한번 더 진행해 보겠다.

728x90
반응형

댓글