비버놀로지

[Youtube API 유튜브] 2. Youtube API 검색(Python) 본문

OPEN API 활용

[Youtube API 유튜브] 2. Youtube API 검색(Python)

KUNDUZ 2021. 4. 16. 14:19
728x90

(1) library 호출

from googleapiclient.discovery import build
from googleapiclient.errors import HttpError
import pprint

(2) API key 객체 생성

# api key객체 생성
DEVELOPER_KEY = "Youtube API key"
YOUTUBE_API_SERVICE_NAME = "youtube"
YOUTUBE_API_VERSION = "v3"

(3) build 객체 생성

# build(googleapiclient.discovery) 객체 생성
youtube = build(YOUTUBE_API_SERVICE_NAME, YOUTUBE_API_VERSION,
                developerKey=DEVELOPER_KEY)

(4) 검색

q : 검색어

order : 정렬방법

part : 필수 매개변수

maxResults : 결과개수

search_response = youtube.search().list(
    q="아이유",
    order="relevance",
    part="snippet",
    maxResults=10
).execute()

다른 변수의 경우 아래의 링크를 통해 더 자세히 알 수 있다.

developers.google.com/youtube/v3/docs/search/list?hl=ko

 

Search: list  |  YouTube Data API  |  Google Developers

API 요청에 지정된 쿼리 매개변수와 일치하는 검색결과의 모음을 반환합니다. 기본적으로 검색결과의 집합은 쿼리 매개변수와 일치하는 video, channel, playlist 리소스를 식별하지만, 특정 유형의 리

developers.google.com

(5) 전체 코드

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

# api key객체 생성
DEVELOPER_KEY = "Youtube API key"
YOUTUBE_API_SERVICE_NAME = "youtube"
YOUTUBE_API_VERSION = "v3"

# build(googleapiclient.discovery) 객체 생성
youtube = build(YOUTUBE_API_SERVICE_NAME, YOUTUBE_API_VERSION,
                developerKey=DEVELOPER_KEY)

search_response = youtube.search().list(
    q="아이유",
    order="relevance",
    part="snippet",
    maxResults=10
).execute()
for i in range(0,9):
    search_result = search_response.get("items", [])[i]
    print(search_result["snippet"]["title"])
    print(search_result["id"]["videoId"])
    data = "https://www.youtube.com/watch?v=" + \
        search_result["id"]["videoId"] + "\n"

(6) 실행결과

 

 

728x90
Comments