이번 프로젝트에서는 LOL의 데이터를 가져와서 여러가지 가설 설정 및 통계적 검증을 실행해 보도록 하겠습니다.
라이엇 개발자 포털 api키 발급 받기
라이엇 개발자 포털에 접속합니다.
https://developer.riotgames.com/
Riot Developer Portal
About the Riot Games API With this site we hope to provide the League of Legends developer community with access to game data in a secure and reliable way. This is just part of our ongoing effort to respond to players' and developers' requests for data and
developer.riotgames.com
로그인을 한 후 API를 발급 받는 방법은 2가지가 있습니다.
1. DEVELOPMENT API KEY 발급 받기
이 방법은 개발 단계에서 API를 테스트 하고 디버깅 하는 용도로 사용됩니다.
API키의 승인 과정은 없으며 바로 발급 받을 수 있습니다.
하지만 만료 기간이 하루이기 때문에 하루에 한번씩 재발급을 해야하는 번거러움이 있습니다.

DEVELOPMENT API KEY를 발급 받는 방법은 REGENERATR API KEY를 클릭하게 되면 API키를 발급해주고 COPY를 통해 복사한 API를 사용하면 됩니다.
2. REGISTER PRODUCT
제품을 등록하고 API키를 발급 받을 수 있습니다.
해당 방법은 API를 사용하는 목적등을 기재한 후 승인이 되면 바로 사용할 수 있고, 만료기간이 없습니다.



RGGISTER PRODUCT를 통해 API를 발급받는 방법은 아래의 순서대로 진행합니다.
- RGGISTER PRODUCT버튼을 클릭합니다.
- 개인 API키를 발급을 클릭합니다.
- 간단한 제품에대한 설명을 작성합니다.
작성을 완료하고 승인이 된다면 아래와 같이 API키를 발급 받을 수 있습니다.

API 요청하기
발급 받은 API를 통해 라이엇 개발자 포털에서 요청해보겠습니다.

SUMMONER-V4를 통해 소환사 이름으로 소환사의 고유 ID를 가져오겠습니다.
빨간 네모 박스를 클릭 하게 되면 반환하는 데이터에 대한 정보, RESPONSE ERROR 코드에 대한 설명이 있습니다.
그 아래에 소환사명을 입력하고 API키를 선택하면 코드사용시 요구하는 정보와 반환하는 데이터를 출력해줍니다.


요청하는 URL과 HEADERS를 알려줍니다.
HEADERS부분의 매개변수들은 의미는 아래와 같습니다.
- "User-Agent": 클라이언트가 사용하는 웹 브라우저의 정보를 나타냅니다. 이 정보는 서버에게 클라이언트의 속성을 알려주는 역할을 합니다.
- "Accept-Language": 클라이언트가 지원하는 언어의 우선순위를 나타냅니다. 이를 통해 서버는 적절한 언어로 응답을 반환할 수 있습니다.
- "Accept-Charset": 클라이언트가 지원하는 문자 인코딩 방식을 나타냅니다.
- "Origin": 요청이 보내진 원본 사이트의 주소를 나타냅니다. 이를 통해 서버는 보안 상의 이유로 요청을 허용하거나 차단할 수 있습니다.
- "X-Riot-Token" : 라이엇 API 요청을 보내기 위한 인증 정보인 API키를 나타냅니다.
X-Riot-Token은 필수 값이고 나머지 매개변수들은 선택 값이기 때문에 실제 코드에는 X-Riot-Token만 추가해주면 됩니다.
다음은 반환된 값들입니다.

RESPONSE CODE의 200이라는 값은 정상적으로 작동됐다는 것을 뜻합니다.
RESPONSE BODY를 보면 검색한 소환사명에 대한 정보들이 어떻게 출력되는지 보여줍니다.
파이썬으로 데이터 불러오기
API키를 정상적으로 발급 받았는지 확인해 보겠습니다.
import pandas as pd
import requests
api_key='your_api_key'
summoner_name = "대청동 꿀열매"
# Summoner-v4 엔드포인트 URL 생성
url = f"https://kr.api.riotgames.com/lol/summoner/v4/summoners/by-name/{summoner_name}"
# API 요청 헤더에 API 키 추가
headers = {
"X-Riot-Token": api_key
}
# API 요청 보내기
response = requests.get(url, headers=headers)
summoner_data = response.json()
my_data = pd.DataFrame([summoner_data])
# 테이블을 한눈에 보기위해 행렬을 변환 했습니다.
print(my_data.T)

결과는 위와 같이 정상 작동한 것을 확인할 수 있습니다.
위의 컬럼들(현재 테이블에서 보이는 행들)의 각각의 뜻은 다음과 같습니다.
- id : 암호화된 소환사 ID. 최대길이는 63자입니다.
- accountId : 암호화된 계정 ID입니다. 최대 길이는 56자입니다.
- puuid : 암호화된 PUUID. 정확한 길이는 78자입니다.
- name : 소환사 이름
- profilelconId : 소환사와 연결된 소환사 아이콘의 ID입니다.
- revisionDate : 소환사가 마지막으로 수정된 날짜는 에포크 밀리초로 지정됩니다.
다음 이벤트는 이 타임스탬프를 업데이트합니다: 소환사 이름 변경, 소환사 레벨 변경, 프로필 아이콘 변경. - summonerLevel : 소환사 레벨
'게임 데이터 분석' 카테고리의 다른 글
| [게임 데이터 분석#3] MATCH-V5 데이터 불러오기 (0) | 2023.12.12 |
|---|---|
| [게임 데이터 분석 #2] LOL 랭크 데이터 불러오기 (0) | 2023.12.06 |
| [게임 데이터 분석 #8] opencv를 활용해 비행기 이동 경로, 낙하 경로 등 출력하기 (0) | 2023.07.06 |
| [게임 데이터 분석 #7] DB데이터 사용 및 지도에 자지장 그리기 (1) | 2023.07.02 |
| [게임 데이터 분석 #6] Mysql 설치, 연동 및 DB에서 데이터 가져오기 (0) | 2023.07.01 |