- 목표 : 캐릭터명을 입력받아 같은 계정 내 캐릭터 출력.
- 서버명과 캐릭터 수를 출력함.
- 하위에 서버 내 캐릭터를 출력함.
- 캐릭터는 캐릭터 프로필 이미지, 캐릭터명, 캐릭터 레벨, 클래스, 아이템 레벨 순으로 출력
- 캐릭터 명을 받아 동일한 계정 내 캐릭터를 전부 받아오기
사용 API : https://developer-lostark.game.onstove.com/characters/{characterName}/siblings?characterName={{characterName}}- 캐릭터 전체 정보 가져오기
import requests from lostark_api_token import * characterName = input("캐릭터 이름을 입력해 주세요 : ") link = f"/characters/{characterName}/siblings" headers = { 'accept': 'application/json', 'authorization': authorization_key } response = requests.get(lostark_url + link, headers=headers) #오류 발생 시 예외를 던짐 response.raise_for_status() characters = response.json()
- 캐릭터에 포함된 서버 정보 가져오기
# 캐릭터 내의 서버이름을 목록으로 받아온 뒤, list 타입으로 변경하여 중복 제거 ServerName_list = [character['ServerName'] for character in characters] ServerName_list = list(set(ServerName_list))
- 서버에 포함된 캐릭터 목록 전부 가져오기
# 서버 별 캐릭터 목록으로 정리하기 # {서버명 : 캐릭터 목록 list} char_info_list = {} for servername in ServerName_list: char_info_list[servername] = \ [char for char in characters if char['ServerName'] == servername]
- 캐릭터 전체 정보 가져오기
- 캐릭터 명을 받아 해당하는 캐릭터의 이미지 가져오기
사용 API : https://developer-lostark.game.onstove.com/armories/characters/{{characterName}}
# 캐릭터 이미지 가져오기 (API GET) link = f"/armories/characters/{character['CharacterName']}/profiles" headers = { 'accept': 'application/json', 'authorization': authorization_key } response = requests.get(lostark_url + link, headers=headers) # 캐릭터 이미지 중 'CharacterImage'에 해댕하는 내용만 가져옴 profile_image = response.json()['CharacterImage']
- 출력하기
for key, value in char_info_list.items(): print("==================================================") print("서버명 : {!r:10s} 캐릭터 수 : {}".format(key.replace("'", ""), len(value))) print("==================================================") for character in value: # 캐릭터 이미지 가져오기 ### 3번 내용 입력하기 ### # 캐릭터 정보 출력 print("캐릭터 프로필 : {}".format(profile_image)) print("캐릭터명 : {} ".format(character['CharacterName'])) print("캐릭터 레벨 : {} ".format(character['CharacterLevel'])) print("클래스 : {} ".format(character['CharacterClassName'])) print("아이템 레벨 : {} ".format(character['ItemMaxLevel'])) print()
- 결과 확인
https://github.com/rusharp1/api_study/blob/master/lostark_api/lostark_character_get.py
'postman&API' 카테고리의 다른 글
API 구조와 종류 그리고 유형에 대하여. (0) | 2024.07.29 |
---|---|
postman HTTP 메소드 정리 (get, post, put, patch, delete, head, options) (0) | 2024.06.17 |
python을 사용하여 api 검색 결과값을 excel로 저장하기 (1) | 2024.06.14 |
python을 사용하여 api 검색 결과값을 그래프로 만들기. (1) | 2024.06.13 |
로스트아크 API를 사용하여 매시간 보석 가격 확인하기 (1) | 2024.06.12 |