- 0
- 이니스프리
- 조회 수 575
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
권한이 없습니다.