LEAGUE-EXP-V4

 

리그 EXP V4 관련 파이썬 코드를 작성하였습니다.

해당 API는 한개만 존재합니다.

LEAGUE-V4의 "큐(솔로/자유 랭크)별 티어별(다이아, 플래티넘, 브/실/골/아이언) 등급별( 1, 2, 3 등) 소환사 정보" 와 동일합니다.

차이점은 신의 리그(챌린저/그랜드마스터/마스터) 티어도 추가 된 것입니다.

 

즉, LEAGUE-V4는 챌린저/그랜드마스터/마스터 와 그 외 티어들을 분리하여 API를 각각 제공 해준것이고, LEAGUE-EXP-V4는 모두 통합하여 API를 제공해주는 것입니다. (챌린저/그랜드마스터/마스터 의 데이터만 건드실 거면, LEAGUE-EXP-V4 는 사용 안하셔도 됩니다.)

 

그렇기 때문에, LEAGUE-V4의 마지막 코드와 거의 같다고 보시면 됩니다.

 

동일한 모듈 불러와주시고..

 

import requests
import pprint

pp = pprint.PrettyPrinter(indent=4)
api_key = 'RGAPI-5157b8b3-55bb-462d-bdad-f1b0dfc30314'
request_header = {
                    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.164 Safari/537.36",
                    "Accept-Language": "ko,en-US;q=0.9,en;q=0.8,es;q=0.7",
                    "Accept-Charset": "application/x-www-form-urlencoded; charset=UTF-8",
                    "Origin": "https://developer.riotgames.com",
                    "X-Riot-Token": api_key
                }

 

함수 :

변수 설명 :

queue : 솔로 랭크 = solo, 자유 랭크 = free

tier : 티어 선택 (CHALLENGER, GRANDMASTER, MASTER, DIAMOND, PLATINUM, GOLD, SILVER, BRONZE, IRON)

division : 각 티어 몇 단계인지 (1, 2, 3, 4)

*챌린저, 그랜드마스터, 마스터는 고정 1단계. 코드에서 고정 1로 되게 처리해 두었음.

page_number : 페이지당 결과가 약 200개씩 보관되어 있음

def league_v4_queue_tier_division(queue, tier, division, page_number):
    if division == 1 or tier in ["CHALLENGER", "GRANDMASTER", "MASTER"]:
        division = 'I'
    elif division == 2 :
        division = 'II'
    elif division == 3 :
        division = 'III'
    elif division == 4:
        division = 'IV'
    if queue == "solo" :
        queue = "RANKED_SOLO_5x5"
    elif queue == "free" :
        queue = "RANKED_FLEX_SR"
    url = f"https://kr.api.riotgames.com/lol/league-exp/v4/entries/{queue}/{tier}/{division}?page={page_number}"
    return requests.get(url, headers=request_header).json()

함수 호출 :

pp.pprint(league_v4_queue_tier_division("solo", "MASTER",1,1))
pp.pprint(league_v4_queue_tier_division("solo", "SILVER",3,3))

호출 결과 :

[   {   'freshBlood': True,
        'hotStreak': False,
        'inactive': False,
        'leagueId': 'dbb721c8-b8fa-3d0c-9727-bfa4eabefc30',
        'leaguePoints': 448,
        'losses': 433,
        'queueType': 'RANKED_SOLO_5x5',
        'rank': 'I',
        'summonerId': 'E9EPLZMy5f9bR2axntFp-DjeFhyxUTE6ncoKG9VfEcRIWw',
        'summonerName': 'Renshou25',
        'tier': 'MASTER',
        'veteran': False,
        'wins': 491},
    {   'freshBlood': True,
        'hotStreak': False,
        'inactive': False,
        'leagueId': 'dbb721c8-b8fa-3d0c-9727-bfa4eabefc30',
        'leaguePoints': 432,
        'losses': 679,
        'queueType': 'RANKED_SOLO_5x5',
        'rank': 'I',
        'summonerId': 'sdFSW3XHkgEjksmQGvAfUemoa01SNgKiEeQg5Qdj_4-E8sKfYnhtgLckjA',
        'summonerName': '고기볶음주세요',
        'tier': 'MASTER',
        'veteran': False,
        'wins': 713},

 

전체 코드 :

import requests
import pprint

pp = pprint.PrettyPrinter(indent=4)
api_key = 'RGAPI-5157b8b3-55bb-462d-bdad-f1b0dfc30314'
request_header = {
                    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.164 Safari/537.36",
                    "Accept-Language": "ko,en-US;q=0.9,en;q=0.8,es;q=0.7",
                    "Accept-Charset": "application/x-www-form-urlencoded; charset=UTF-8",
                    "Origin": "https://developer.riotgames.com",
                    "X-Riot-Token": api_key
                }


def league_v4_queue_tier_division(queue, tier, division, page_number):
    if division == 1 or tier in ["CHALLENGER", "GRANDMASTER", "MASTER"]:
        division = 'I'
    elif division == 2 :
        division = 'II'
    elif division == 3 :
        division = 'III'
    elif division == 4:
        division = 'IV'
    if queue == "solo" :
        queue = "RANKED_SOLO_5x5"
    elif queue == "free" :
        queue = "RANKED_FLEX_SR"
    url = f"https://kr.api.riotgames.com/lol/league-exp/v4/entries/{queue}/{tier}/{division}?page={page_number}"
    return requests.get(url, headers=request_header).json()
반응형

'Data Science > LOL 프로젝트' 카테고리의 다른 글

Riot API (MATCH-V5) 코드 구현  (0) 2021.07.26
Riot API (LEAGUE-V4) 코드 구현  (0) 2021.07.26
Riot API (SUMMONER-V4) 코드 구현  (0) 2021.07.25
Riot API 사용하기 (웹사이트)  (0) 2021.07.25
Riot API 살펴보기  (0) 2021.07.20

+ Recent posts