파이썬에서 youtube API를 통해서 정보를 추출하려면 채널 ID라는 항목이 나오는데요.
2021.12.30 - [Tip & Tech/Python] - 파이썬 유튜브 API 연동하기
현재 저의 채널은 아래와 같이 채널 ID가 바로 공개되는 방식인데요.
https://www.youtube.com/channel/UC_aIaSzQL2aYLw3CSUVYg8w
하지만 많은 사이트들은 접속하거나 기억하기 쉽게 도메인을 아이디 등으로 변경하여 사용 중입니다.
채널 ID보다는 직관적이고 보기에 편하기 때문이죠.
아래 야나두 홈페이지도 yanadooeng라는 별도 아이디로 운영하고 있음을 확인할 수 있습니다.
이럴 경우 간단하게 파이썬을 통해서 채널 아이디를 추출하는 방법을 알아보겠습니다.
유튜브 채널 API 추출하는 방법
사실 별도 코드로 짜도 되고 유튜브 API매뉴얼에서 자동으로 실행도 가능한데요.
Youtube Video API 링크
먼저 제 유튜브 영상을 통해서 추출하는 방법을 알아보겠습니다.
유튜브 주소중 ?v= 다음에 위치한 것이 영상 ID입니다.
https://www.youtube.com/watch?v=8axitvE6MSQ
위의 메뉴얼에 ID칸에 넣어주면되는데요.
먼저 part는 snippet정보에 있기 때문에 snippet을 입력해줍니다.
그리고 하단에서 Execute를 클릭하면 되는데요.
결과창에서 channelid값에서 채널 아이디를 볼 수 있습니다.
이 외에도 타이틀, 발행일자, 설명 등 다양한 정보를 볼 수 있습니다.
해당 기능을 파이썬 코드로 짜면 아래와 같은데요.
파이썬으로 유튜브 채널 아이디 다량 변환하기
저는 유튜브 영상의 주소를 가지고 있는 source.xlsx라는 파일을 불러와서
아래와 같이 source.url이라는 필드에 찾고싶은 유튜브 주소를 쭉 적어놓았습니다.
기본동작은
주소와 영상 ID를 분리한 다음, 다시 test.log로 반환하는 간단한 함수로 짰는데요.
아래와 같이 짤 수 있습니다.
먼저 구글 API 패키지를 설치하여야 하는데요.
pip install google-api-python-client
pip install oauth2client
위 명령어로 패키지를 설치합니다.
import requests
from googleapiclient.discovery import build
from googleapiclient.errors import HttpError
from oauth2client.tools import argparser
import pandas as pd
#youtube 설정
DEVELOPER_KEY = #유튜브 API 키 값
YOUTUBE_API_SERVICE_NAME = "youtube"
YOUTUBE_API_VERSION = "v3"
youtube = build(YOUTUBE_API_SERVICE_NAME, YOUTUBE_API_VERSION,developerKey=DEVELOPER_KEY)
# 변수 지정
df = pd.read_excel('./source.xlsx')
df2 = df.copy()
df2[['youtube', 'idv']] = df2['source.url'].str.split('=', n=1, expand=True)
yt_list1 = []
channel_id = []
for u in range(len(df2)):
request = youtube.videos().list(
part = "snippet",
id = df2['idv'].iloc[u])
response = request.execute()
channel_id = response['items'][0]['snippet']['channelId']
yt_list1.append([channel_id])
#결과값 저장
yt_result1 = pd.DataFrame(yt_list1, columns=['channel_id'])
yt_result1.to_csv('./log/'+'test'+'.csv',encoding='utf-8')
그리고 유튜브 API는 명령어에 따라서 코스트가 다른데요.
하루 무료 할당량은 1만건이고, 명령어별 코스트는 아래와 같습니다.
유튜브 API 코스트
그럼 잘 사용하시기 바랍니다.
'Tip & Tech > Python' 카테고리의 다른 글
파이썬 텔레그램 챗봇 만들기 - 인포메시지 및 명령어 설정하기 (10) | 2022.02.23 |
---|---|
파이썬 CSV 엑셀 한글 깨짐 해결하기 (16) | 2022.02.17 |
파이썬 텔레그램 챗봇 만드는 방법 (20) | 2022.01.07 |
PIP 명령어 정리 (14) | 2022.01.03 |
파이썬 crontab으로 스케쥴링 하기 (16) | 2021.12.30 |