python을 사용하여 api response 값을 2번 받아 필요한 내용 출력하기.

2024. 6. 15. 21:53·postman&API
  1. 목표 : 캐릭터명을 입력받아 같은 계정 내 캐릭터 출력.
    1. 서버명과 캐릭터 수를 출력함.
    2. 하위에 서버 내 캐릭터를 출력함.
    3. 캐릭터는 캐릭터 프로필 이미지, 캐릭터명, 캐릭터 레벨, 클래스, 아이템 레벨 순으로 출력
  2. 캐릭터 명을 받아 동일한 계정 내 캐릭터를 전부 받아오기
    사용 API : https://developer-lostark.game.onstove.com/characters/{characterName}/siblings?characterName={{characterName}}
    1. 캐릭터 전체 정보 가져오기
      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()


    2. 캐릭터에 포함된 서버 정보 가져오기
      # 캐릭터 내의 서버이름을 목록으로 받아온 뒤, list 타입으로 변경하여 중복 제거
      ServerName_list = [character['ServerName'] for character in characters]
      ServerName_list = list(set(ServerName_list))


    3. 서버에 포함된 캐릭터 목록 전부 가져오기
      # 서버 별 캐릭터 목록으로 정리하기
      # {서버명 : 캐릭터 목록 list}
      char_info_list = {}
      for servername in ServerName_list:
          char_info_list[servername] = \
              [char for char in characters if char['ServerName'] == servername]


  3. 캐릭터 명을 받아 해당하는 캐릭터의 이미지 가져오기
    사용 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']


  4. 출력하기
    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()
  5. 결과 확인

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
'postman&API' 카테고리의 다른 글
  • API 구조와 종류 그리고 유형에 대하여.
  • postman HTTP 메소드 정리 (get, post, put, patch, delete, head, options)
  • python을 사용하여 api 검색 결과값을 excel로 저장하기
  • python을 사용하여 api 검색 결과값을 그래프로 만들기.
몽자비루
몽자비루
코딩공부 정리용 블로그입니다.
  • 몽자비루
    공부하는 블로그
    몽자비루
  • 전체
    오늘
    어제
    • 분류 전체보기 (195)
      • python (30)
        • python_selenium (16)
        • python_pygame (3)
      • appium (0)
      • 쿠버네티스 (60)
        • linux (8)
        • shell programming (8)
        • docker (18)
        • cka (23)
      • postman&API (16)
      • QA성장하기 (33)
        • 개발자에서 아키텍트로 스터디 (6)
        • 소프트웨어 공학 이해도 높이기 (6)
        • 테스팅 전문 지식 쌓기 (18)
        • 제4회 QA conference (3)
      • 에러일기 (1)
      • Server&load (35)
        • AWS (27)
        • load test (5)
        • CI CD (3)
        • Jmeter (0)
      • RAG 을 활용하여 LLM 만들어보기 (12)
      • git&github (7)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    리눅스
    개발자에서아키텍트로
    QAKOREA
    qa
    qa conference
    cka
    포스트맨
    postman
    스터디
    로스트아크
    LOSTARK
    application log
    애플리케이션로그
    python
    공존성테스트
    e2c
    vi에디터
    .cpu
    API
    테스트 결과보고서
    쿠버네티스
    도커
    네트워크 테스트
    로스트아크api
    linux
    qa 컨퍼런스
    앱공존성
    테스트스크립트
    사드웨어리소스
    k8s
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
몽자비루
python을 사용하여 api response 값을 2번 받아 필요한 내용 출력하기.
상단으로

티스토리툴바