SUMMONER-V4

 

서머너 V4 관련 파이썬 코드를 작성하였습니다.

 

서머너 V4관련 API는 다음과 같이 총 5개가 존재합니다. 마지막 나의 정보를 얻는 API는 사용이 불가하기 때문에 설명과 코드는 첨부하지 않았습니다.

먼저 필요 모듈은 다음과 같습니다.

import requests
from urllib import parse
import pprint
pp = pprint.PrettyPrinter(indent=4)

pprint는 json 결과를 깔끔하게 보여주기 위해 추가해두었습니다.

 

우선 2개의 변수를 선언합니다.

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
                }

여기서 api_key는 여러분들이 발급 받았던 api_key를 이용하셔야 합니다.

 

현재 제가 넣은 api_key는 제가 이전에 발급 받고 현재는 만료된 키입니다. 여러분들의 키를 넣어 주세요.

 

또한 request_header은 지난 포스팅에서 API 호출시 2번째로 나타났던 항목입니다. (복사해두라는거 붙여 넣으시면 됩니다.)

 

저와 같은 환경이라면 해당 request header 똑같이 사용하여도 됩니다만 다를 수 있으니 여러분들 환경에 맞게 사용하시고  ("X-Riot-Token": api_key) 이부분만 이렇게 바꿔주시면 됩니다.

 

api_key는 하루마다 갱신을 해줘야 하기 때문에, request_header 안에서 최상단으로 빼두었습니다.

 

소환사명으로 검색

함수 :

def summoner_v4_by_summoner_name(summonerName):
    encodingSummonerName = parse.quote(summonerName)
    url = f"https://kr.api.riotgames.com/lol/summoner/v4/summoners/by-name/{encodingSummonerName}"
    return requests.get(url, headers=request_header).json()

소환사 명을 통해 결과 값을 리턴 받는 함수입니다.

encodingSummonerName은 한글 아이디를 인코딩 시켜주기 위하여 추가해두었습니다.

 

함수 호출 :

pp.pprint(summoner_v4_by_summoner_name("hide on bush"))

호출 결과 :

{   'accountId': 'YKuqwYyemn5bwLLGLrX7rcvJB06tN-KAagNy5DCG0PKS',
    'id': 'ErmVzmx0cl1QCDHqkNPxqD8yntjHg1_d1VdJNr0q01iPdw',
    'name': 'Hide on bush',
    'profileIconId': 6,
    'puuid': '1a2U_f6YkhEatZj1WH8aNomc_60V35WgYGipEBL5dKJ1t08a7M6WDZ1zsI3h6KDX31FiyJjXLnUCdw',
    'revisionDate': 1627050742000,
    'summonerLevel': 476}

 

 

Account ID로 검색

함수 :

def summoner_v4_by_accountId(accountId):
    url = f"https://kr.api.riotgames.com/lol/summoner/v4/summoners/by-account/{accountId}"
    return requests.get(url, headers=request_header).json()

함수 호출 :

pp.pprint(summoner_v4_by_accountId("YKuqwYyemn5bwLLGLrX7rcvJB06tN-KAagNy5DCG0PKS"))

호출 결과 :

{   'accountId': 'YKuqwYyemn5bwLLGLrX7rcvJB06tN-KAagNy5DCG0PKS',
    'id': 'ErmVzmx0cl1QCDHqkNPxqD8yntjHg1_d1VdJNr0q01iPdw',
    'name': 'Hide on bush',
    'profileIconId': 6,
    'puuid': '1a2U_f6YkhEatZj1WH8aNomc_60V35WgYGipEBL5dKJ1t08a7M6WDZ1zsI3h6KDX31FiyJjXLnUCdw',
    'revisionDate': 1627050742000,
    'summonerLevel': 476}

 

 

PUUID로 검색

함수 :

def summoner_v4_by_puuid(puuid):
    url = f"https://kr.api.riotgames.com/lol/summoner/v4/summoners/by-puuid/{puuid}"
    return requests.get(url, headers=request_header).json()

함수 호출 :

pp.pprint(summoner_v4_by_puuid("1a2U_f6YkhEatZj1WH8aNomc_60V35WgYGipEBL5dKJ1t08a7M6WDZ1zsI3h6KDX31FiyJjXLnUCdw"))

호출 결과 :

{   'accountId': 'YKuqwYyemn5bwLLGLrX7rcvJB06tN-KAagNy5DCG0PKS',
    'id': 'ErmVzmx0cl1QCDHqkNPxqD8yntjHg1_d1VdJNr0q01iPdw',
    'name': 'Hide on bush',
    'profileIconId': 6,
    'puuid': '1a2U_f6YkhEatZj1WH8aNomc_60V35WgYGipEBL5dKJ1t08a7M6WDZ1zsI3h6KDX31FiyJjXLnUCdw',
    'revisionDate': 1627050742000,
    'summonerLevel': 476}

 

 

Summoner ID 로 검색 :

함수 :

def summoner_v4_summoner_name(id):
    url = f"https://kr.api.riotgames.com/lol/summoner/v4/summoners/{id}"
    return requests.get(url, headers=request_header).json()

함수 호출 :

pp.pprint(summoner_v4_summoner_name("ErmVzmx0cl1QCDHqkNPxqD8yntjHg1_d1VdJNr0q01iPdw"))

호출 결과 :

{   'accountId': 'YKuqwYyemn5bwLLGLrX7rcvJB06tN-KAagNy5DCG0PKS',
    'id': 'ErmVzmx0cl1QCDHqkNPxqD8yntjHg1_d1VdJNr0q01iPdw',
    'name': 'Hide on bush',
    'profileIconId': 6,
    'puuid': '1a2U_f6YkhEatZj1WH8aNomc_60V35WgYGipEBL5dKJ1t08a7M6WDZ1zsI3h6KDX31FiyJjXLnUCdw',
    'revisionDate': 1627050742000,
    'summonerLevel': 476}

 

 

전체 코드 :

import requests
from urllib import parse
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 summoner_v4_by_summoner_name(summonerName):
    encodingSummonerName = parse.quote(summonerName)
    url = f"https://kr.api.riotgames.com/lol/summoner/v4/summoners/by-name/{encodingSummonerName}"
    return requests.get(url, headers=request_header).json()


def summoner_v4_by_accountId(accountId):
    url = f"https://kr.api.riotgames.com/lol/summoner/v4/summoners/by-account/{accountId}"
    return requests.get(url, headers=request_header).json()


def summoner_v4_by_puuid(puuid):
    url = f"https://kr.api.riotgames.com/lol/summoner/v4/summoners/by-puuid/{puuid}"
    return requests.get(url, headers=request_header).json()


def summoner_v4_summoner_name(id):
    url = f"https://kr.api.riotgames.com/lol/summoner/v4/summoners/{id}"
    return requests.get(url, headers=request_header).json()
반응형

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

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

+ Recent posts