서론
유튜브는 현재 세계에서 가장 인기 있는 동영상 공유 플랫폼 중 하나입니다. 많은 사람들이 유튜브에서 동영상을 시청하고 구독하며, 이로 인해 랭킹 시스템이 중요해집니다. 이 블로그 포스트에서는 FastAPI를 사용하여 실시간으로 유튜브 랭킹을 제공하는 서비스를 구현하는 방법에 대해 알아보겠습니다.
준비물
- Python 3.x
- FastAPI
- YouTube Data API
단계별 진행
1. FastAPI 설치
FastAPI를 설치하기 위해 다음 명령어를 사용합니다:
pip install fastapi
2. YouTube Data API 키 생성
YouTube Data API를 사용하기 위해 Google Developers Console에서 API 키를 생성해야 합니다. 다음 단계를 따라 생성하세요:
- Google Developers Console에 접속합니다.
- 새 프로젝트를 만들고 이름을 지정합니다.
- “API 및 인증”으로 이동하고 “API” 탭을 클릭합니다.
- “YouTube Data API v3”를 찾아서 사용 설정합니다.
- “사용자 인증 정보” 탭으로 이동하고 “API 키”를 생성합니다.
생성한 키를 기록해두세요. 이 키는 나중에 FastAPI와 YouTube Data API를 연결할 때 사용됩니다.
3. FastAPI 프로젝트 구성
FastAPI 프로젝트를 구성하기 위해 다음 파일과 디렉토리를 생성합니다:
myapp/
├── main.py
├── requirements.txt
main.py
파일에는 FastAPI 라우터와 핸들러를 작성합니다.
4. FastAPI 애플리케이션 작성
main.py
파일을 열고 아래 코드를 작성합니다:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"Hello": "World"}
이 코드는 FastAPI 애플리케이션을 생성하고 루트 엔드포인트를 생성합니다.
5. YouTube API를 호출하는 함수 작성
main.py
에 다음 코드를 추가하여 YouTube API를 호출하는 함수를 작성합니다:
from googleapiclient.discovery import build
def get_youtube_ranking():
api_key = "YOUR_YOUTUBE_API_KEY"
youtube = build('youtube', 'v3', developerKey=api_key)
request = youtube.videos().list(
part="snippet",
chart="mostPopular",
maxResults=10
)
response = request.execute()
return response
위의 코드에서 YOUR_YOUTUBE_API_KEY
를 생성한 YouTube Data API 키로 대체해야 합니다.
6. FastAPI 핸들러 작성
main.py
에 다음 코드를 추가하여 FastAPI 핸들러를 작성합니다:
@app.get("/ranking")
def get_youtube_ranking():
youtube_ranking = get_youtube_ranking()
return youtube_ranking
이 코드는 /ranking
엔드포인트를 생성하고, 해당 엔드포인트를 호출할 때 랭킹 정보를 반환합니다.
7. FastAPI 서버 실행
터미널에서 다음 명령을 실행하여 FastAPI 서버를 실행합니다:
uvicorn main:app --reload
8. 유튜브 랭킹 확인
브라우저에서 http://localhost:8000/ranking
에 접속하면 실시간 유튜브 랭킹을 확인할 수 있습니다.
결론
FastAPI를 사용하여 실시간 유튜브 랭킹 서비스를 구현하는 방법에 대해 알아보았습니다. FastAPI는 빠른 속도와 간편한 문법을 제공하는 웹 프레임워크로, 유튜브 API와 연동하여 실시간 정보를 애플리케이션에 제공하는 것이 가능합니다. 이를 통해 사용자들은 언제든지 최신 유튜브 랭킹을 확인할 수 있습니다.
#FastAPI #유튜브랭킹