본문 바로가기
App Programming/Web Crawler

[Web Crawler] YouTube Data API

by goatlab 2023. 3. 21.
728x90
반응형
SMALL

YouTube Data API

 

YouTube Data API는 유튜브의 기본적인 리소스 (채널, 재생목록, 동영상 등)의 기본적인 기능 (등록, 수정, 삭제 등)을 제공한다.

 

유튜브 API 생성하기

 

Google API Console에 접속하여 유튜브 API 키를 발급 받는다.

 

import requests
import json

# 유튜브 데이터 API 키
api_key = "YOUR_API_KEY"

# 비디오 ID
video_id = "VIDEO_ID"

# 요청 URL
url = f"https://www.googleapis.com/youtube/v3/commentThreads?key={api_key}&textFormat=plainText&part=snippet&videoId={video_id}&maxResults=100"

# 요청 결과
response = requests.get(url)

# JSON 형식으로 변환
data = json.loads(response.text)

# 엑셀 파일 생성 및 시트 설정
excel_file = openpyxl.Workbook()
excel_sheet = excel_file.active

# 첫 번째 행에 컬럼 이름 작성 (작성자 이름, 댓글 내용)
excel_sheet.append(["Author", "Comment"])

# csv 파일 생성 및 쓰기 객체 설정
csv_file = open("comments.csv", "w", encoding="utf-8", newline="")
csv_writer = csv.writer(csv_file)

# 첫 번째 행에 컬럼 이름 작성 (작성자 이름, 댓글 내용)
csv_writer.writerow(["Author", "Comment"])

# 각 댓글의 작성자 이름과 내용 출력 및 파일에 저장
for item in data["items"]:
    comment = item["snippet"]["topLevelComment"]["snippet"]
    author = comment["authorDisplayName"]
    text = comment["textDisplay"]
    print(author, ":", text)
    
    # 엑셀 시트에 작성자 이름과 댓글 내용 추가
    excel_sheet.append([author, text])
    
    # csv 파일에 작성자 이름과 댓글 내용 추가
    csv_writer.writerow([author, text])

# 엑셀 파일 저장 및 닫기 (파일명은 comments.xlsx로 지정)
excel_file.save("comments.xlsx")
excel_file.close()

# csv 파일 닫기
csv_file.close()

 

https://developers.google.com/youtube/v3/getting-started?hl=ko 

 

시작하기  |  YouTube Data API  |  Google Developers

시작하기 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 소개 이 문서는 YouTube와 상호작용할 수 있는 애플리케이션을 개발하려는 개발자를 위해 작성되었

developers.google.com

 

728x90
반응형
LIST