• 목록
  • 아래로
  • 위로

Youtube Data API를 이용하여 특정 채널의 모든 비디오 링크를 얻는 함수입니다!

 

Youtube Data API v3, Python 3.X를 기준으로 설명드립니다.

 

아래에 나온 설명을 Python 3.X 용으로 살짝 수정하였습니다 ^^

 

max result limit의 제한을 받지 않기 위하여 nextPageToken을 활용하는 것이 핵심인 것 같네요 :)

 

https://stackoverflow.com/a/44871104

I want to get all video url´s of a specific channel. I think json with python or java would be a good...

 

 

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

안녕하세요??   몇몇 개발자 커뮤니티에서 유튜브 영상을 리뷰 및 추천하는 사이트를 만들면 좋겠다는 글을 본 적이 있는데요 ^^   그런 사이트에서 활용할 수 있도록 유튜브...
이니스프리 | 2020.05.27

 

작성자
이니스프리 119 Lv. (2%) 4155010/115200000EXP

Make StudyForUs Great Again!

 

CSVpuymXAAAVVpd.jpg

댓글 0

권한이 없습니다.
번호 제목 글쓴이 날짜 조회 수
공지 시스템 점검 작업 완료 안내 10 마스터 마스터 24.09.05.16:25 2074
공지 [중요] 호스팅 만료와 관련하여 일부 수칙이 변경됩니다. 4 마스터 마스터 23.01.14.02:23 8864
480 [Python] 파이썬으로 평균을 구하는 두 가지 방법 이니스프리 이니스프리 21.03.13.21:58 200
479 [Python] 동영상 파일의 재생시간 길이를 구하기 (OpenCV vs MoviePy) 이니스프리 이니스프리 21.03.12.22:33 4865
478 [Python] Youtube_dl 사용시 주의할 점 이니스프리 이니스프리 21.03.12.22:14 236
[Python] Youtube Data API를 이용하여 특정 채널의 모든 비디오 링크를 얻는 함수 이니스프리 이니스프리 21.03.12.22:05 505
476 php8.0 대응 라이믹스 오류 해결법 NUBE title: 크롬NUBE 21.03.08.11:39 430
475 [Python] 동영상 파일의 포맷 변환 - FFmpy 모듈 이니스프리 이니스프리 21.03.07.12:14 287
474 [Python] glob.glob() 정렬 방법 정리! 이니스프리 이니스프리 21.03.07.00:49 1609
473 [Python] 윈도우에서 pyaudio 모듈 설치 에러 해결하는 방법 3 이니스프리 이니스프리 21.03.06.15:11 620
472 외국어(인도-유럽어족) 학습에 관하여 4 이니스프리 이니스프리 21.02.21.00:01 162
471 ionicons.com - 오픈 소스 아이콘 4 이니스프리 이니스프리 21.02.14.18:59 347
470 나리야 익명보드 및 내 글 알림 관련 Q&A image 이니스프리 이니스프리 21.02.14.17:30 147
469 [Python] 크롤링한 bytes를 string으로 변환 이니스프리 이니스프리 21.02.14.15:32 148
468 [Python] BeautifulSoup에서 class명에 공백이 있을 때 검색 방법 이니스프리 이니스프리 21.02.13.00:26 2191
467 [Python] Instalooter 에러 발생 시 대처법 1 이니스프리 이니스프리 21.01.31.13:37 258
466 [Windows] 날짜 및 시각을 폴더명으로 하는 백업 Batch 파일 - 파일 버저닝 용도 2 이니스프리 이니스프리 21.01.25.22:14 1022
465 [Python] json.load()와 json.loads()의 차이 2 이니스프리 이니스프리 21.01.24.13:15 547
464 [Python] 전기차 충전소 조회 사이트 크롤링 이니스프리 이니스프리 21.01.10.15:10 515
463 [React] React-Router BrowserRouter를 사용한 앱을 SFU 호스팅에 배포하는 방법 1 Ruwaku 20.12.18.15:41 438
462 로지텍 G304 , G403 마우스 카일저소음 스위치(버튼) 교체!! 2 image 자뻑보이 자뻑보이 20.12.02.20:23 1560
461 [Python] 두 개의 리스트를 한꺼번에 for문으로 돌리기 1 이니스프리 이니스프리 20.11.23.20:30 374