수업 소개
라이엇 개발자 페이지에서 소환사 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