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 |