수업 소개
라이엇 개발자 페이지에서 소환사 ID를 이용해 PUU ID를 수집하는 방법을 배워봅니다.
강의
※ 랭크를 입력할 때 로마자는 다음 문자열을 입력하세요.
["I", "II", "III", "IV"]
※ 강의 4분36초에 등장하는 소환사 아이디는 다음과 같습니다.
gotaNGdcUuQa7ZNoJj2hYWNKAhJZE19uOh8cmNusK3A2oQ
코드
tier_summonerId.py
※ 주의 : 아래 코드에서 headers 딕셔너리 안에 담기는 내용은 개인마다 다릅니다. 라이엇 개발자 페이지에서 확인한 자신의 'REQUEST HEADERS'를 사용하셔야 합니다.
api_key = "본인의 아이디를 입력하세요"
import requests
import time
import pandas as pd
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36",
"Accept-Language": "ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7",
"Accept-Charset": "application/x-www-form-urlencoded; charset=UTF-8",
"Origin": "https://developer.riotgames.com",
"X-Riot-Token": api_key
}
df_list = []
for tier in ["BRONZE", "SILVER", "GOLD"]:
for rank in ["I", "II", "III", "IV"]:
for page in range(1, 3):
url = f"https://kr.api.riotgames.com/lol/league/v4/entries/RANKED_SOLO_5x5/{tier}/{rank}?page={page}"
data = requests.get(url, headers=headers).json()
df = pd.DataFrame(data)
# print(df)
df_list.append(df)
time.sleep(1)
ndf = pd.concat(df_list)
ndf = ndf.reset_index(drop=True)
ndf.to_csv("summonerid.csv", encoding="euc-kr")
퀴즈
앞에서 수집한 4920명의 소환사 ID를 이용해 PUU ID를 수집해보세요.
기존 summonerid.csv 에 PUU ID 칼럼을 추가해 새로운 CSV 파일을 만들어보세요.
힌트1. 기존 파일 읽어들이기
df = pd.read_csv(“summonerid.csv”, encoding=“euc-kr”)
힌트2. 소환사 ID → PUU ID
df[“puuid”] = df[“summonerId”].apply(lambda x: change(x)) ※change 함수는 직접 정의
힌트3. 라이엇 개발자 페이지에서 SUMMONER-V4 코너의 4번째 줄에 설명이 나와있습니다.
/lol/summoner/v4/summoners/{encryptedSummonerId}
REQUEST URL에서 뒷부분(got~)을 다른 소환사 ID로 바꾸면서 PUU ID를 수집하시면 됩니다.
https://kr.api.riotgames.com/lol/summoner/v4/summoners/gotaNGdcUuQa7ZNoJj2hYWNKAhJZE19uOh8cmNusK3A2oQ

