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 |