골드

PUU ID 수집

수업 소개

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

댓글

댓글 본문