저번에는 크롤링으로 하는 방법을 알아보았는데요. 구글은 API를 제공해줘서
좀더 편한방법으로도 크롤링할 수 있습니다.
2021.12.28 - [Tip & Tech/Python] - 파이썬 유튜브 제목, 조회수 크롤링하기
유튜브 API
API는 애플리케이션 소프트웨어를 구축하고 통합하기 위한 정의 및 프로토콜 세트로,
애플리케이션 프로그래밍 인터페이스(Application Programming Interface)의 약자입니다.
즉 API를 사용하면 커뮤니케이션 시간을 단축하여 애플리케이션 개발을 간소화하여 시간과 비용을 절약할 수 있습니다.
새로운 툴과 제품을 설계하거나 기존 툴과 제품을 관리하는 경우 API는 유연성을 제공하고
설계, 관리, 사용 방법을 간소화하며 혁신의 기회를 제공합니다.
구글은 다양한 API를 지원하고 있고, 이중 유튜브 API도 지원합니다.
유튜브 API 링크
위 링크에서 유튜브 API를 만들면 되는데요.
가이드를 보고 따라하셔도 되고 아래 링크로 직접 접속하셔도 됩니다.
하단에 위치한 사용자 인증 정보를 입력하시면 API키를 얻을 수 있습니다.
받은 API키를 잘 복사해 놓으시면 됩니다.
파이썬에서 Youtube API 연동
파이썬에서 간편하게 youtube API를 연동할 수 있는데요.
구글 가이드 링크
먼저 관련 라이브러리를 먼저 설치하셔야 합니다.
파이썬은 2.7이상이거나 3.5버전 이상이어야 합니다.
기본적으로 2개의 패키지가 필요하고, 추가적으로 몇개 더 필요할 수도 있습니다.
pip install --upgrade google-api-python-client
pip install --upgrade google-auth-oauthlib google-auth-httplib2
pip install oauth2client
그리고 유튜브 API에는 할당량이 존재합니다.
읽기작업은 1,000,000개 정도입니다.
인터넷에 있는 소스를 참고하여 만들면 아래처럼 만들고 동작을 확인했습니다.
에러가 나는 경우가 있어서 예외처리를 잘해줘야 하더라구요.
import re
from googleapiclient.discovery import build
from googleapiclient.errors import HttpError
from oauth2client.tools import argparser
import pandas as pd
import datetime
import time
DEVELOPER_KEY = 'api' #유튜브 API 키 값
YOUTUBE_API_SERVICE_NAME = "youtube"
YOUTUBE_API_VERSION = "v3"
youtube = build(YOUTUBE_API_SERVICE_NAME, YOUTUBE_API_VERSION,developerKey=DEVELOPER_KEY)
views=[]
likes=[]
title=[]
for u in range(len(df3)):
request = youtube.videos().list(
part="snippet,contentDetails,statistics",
id=df3['idn'].iloc[u]
)
try:
response = request.execute()
if response['items']==[]:
title.append('-')
views.append('-')
likes.append('-')
else
title.append(response['items'][0]['snippet']['title'])
views.append(response['items'][0]['statistics']['viewCount'])
likes.append(response['items'][0]['statistics']['likeCount'])
except:
title.append('에러')
views.append('없음')
likes.append('삭제')
df=pd.DataFrame([title,views,likes]).T
그럼 즐거운 하루되세요
'Tip & Tech > Python' 카테고리의 다른 글
PIP 명령어 정리 (14) | 2022.01.03 |
---|---|
파이썬 crontab으로 스케쥴링 하기 (16) | 2021.12.30 |
파이썬 유튜브 제목, 조회수 크롤링하기 (6) | 2021.12.28 |
파이썬 기초 문법 5일차 - 판다스 2편 (2) | 2021.09.07 |
파이썬 기초문법 4일차 - 판다스 알아보기 (4) | 2021.09.05 |