- 0
- 이니스프리
- 조회 수 985
Youtube Data API를 이용하여 특정 채널의 모든 비디오 링크를 얻는 함수입니다!
Youtube Data API v3, Python 3.X를 기준으로 설명드립니다.
아래에 나온 설명을 Python 3.X 용으로 살짝 수정하였습니다 ^^
max result limit의 제한을 받지 않기 위하여 nextPageToken을 활용하는 것이 핵심인 것 같네요 :)
https://stackoverflow.com/a/44871104
import requests, json
def get_all_video(channel_id):
api_key = 'API키를 입력하세요'
base_video_url = 'https://www.youtube.com/watch?v='
base_search_url = 'https://www.googleapis.com/youtube/v3/search?'
start_url = base_search_url+'key={}&channelId={}&part=snippet,id&order=date&maxResults=25'.format(api_key, channel_id)
video_links = []
url = start_url
while True:
resp = requests.get(url).text
data = json.loads(resp)
for i in data['items']:
if i['id']['kind'] == "youtube#video":
video_links.append(base_video_url + i['id']['videoId'])
try:
next_page_token = data['nextPageToken']
url = start_url + '&pageToken={}'.format(next_page_token)
except:
break
return video_links
target_channel_id = '채널ID를 입력하세요'
get_all_video(target_channel_id)
아래에 제가 올린 소스와 함께 이용하면 유튜브 소개 커뮤니티(?) 목적으로 사용할 수 있겠네요 ^^
https://studyforus.com/share/701143
작성자
댓글 0
권한이 없습니다.


이니스프리 | 2020.05.27


