python을 사용하여 api 검색 결과값을 그래프로 만들기.

2024. 6. 13. 15:49·postman&API
  1. python 에서 7레벨 보석 최저값을 가져와 list에 입력하기.
    참고 링크 : https://rusharp.tistory.com/87
    1. API response 값 가져오기
      from lostark_api_token import *
      import requests
      import json
      import datetime
      import time
      import matplotlib.pyplot as plt
      
      lostark_url = "https://developer-lostark.game.onstove.com"
      url = lostark_url + "/auctions/items"
      
      # 3티어, 7레벨의 보석을 즉시구매가 오름차순으로 검색함.
      Body = {
        "Sort": "BUY_PRICE",
        "CategoryCode": 210000,
        "ItemTier": 3,
        "ItemName": "7레벨",
        "PageNo": 0,
        "SortCondition": "ASC"
      }
      headers = {
          'authorization': authorization_key,
          # 'Content-Type': 'application/json'
      }
      
      response = requests.post(url,headers=headers, data=Body)
      jsonData = response.json()
    2. 1분마다 7레벨 보석의 최저값 검색 후, 시간과 가격을 list에 입력
      timestamps = []
      prices = []
      
      # 한시간
      for i in range(60):
        # 최저값 검색하기.
        response = requests.post(url,headers=headers, data=Body)
        if(response.status_code == 200):
            jsonData = response.json()
            # 검색 결과가 있는 경우,
            if jsonData["Items"]:
              # 현재 시간 / 최저 가격을 now, price 변수에 입력
              now = datetime.datetime.now()
              price = jsonData["Items"][0]["AuctionInfo"]["BuyPrice"]
      
              # 리스트에 값 추가.
              timestamps.append(now.strftime('%Y/%m/%d %H:%M:%S'))
              prices.append(price)
            # 검색 결과가 없는 경우,
            else:
               print("검색 결과가 없습니다.")
        else:
            print("Error Code:" + response.status_code)
      
        # 59초 대기하기 (1분단위 유도)
        time.sleep(59)
      
      # 리스트에 값 추가.
      timestamps.append(now.strftime('%Y/%m/%d %H:%M:%S'))
      prices.append(price)
  2. matplotlib.pyplot 을 사용하여 그래프로 그려보기
    # 한글 사용을 위한 폰트 설정
    plt.rcParams['font.family'] = 'Malgun Gothic'
    # 그래프 다크모드로 지정.
    plt.style.use('dark_background')
    
    # 그래프 크기 지정. (가로 10인치, 세로 5인치)
    plt.figure(figsize=(10, 5))
    # x 축은 timestamps, y 축은 가격 리스트, 각 데이터 포인트를 o 로 표시함.
    plt.plot(timestamps, prices, marker='o')
    
    for i, price in enumerate(prices):
    # price = 표시할 데이터
    # (timestamps[i], prices[i]) = 주석을 추가할 데이터 포인트 위치
    # textcoords="offset points = 텍스트 위치를 데이터 포인트 좌표를 기준으로 설정함
    # (0, 10) = 주석 텍스트의 시작 위치 (포인트 기준, 인치의 1/72)
    # 텍스트 수평 정렬을 중앙으로, text 색상은 흰색
    plt.annotate(f'{price}', (timestamps[i], prices[i]),
                  textcoords="offset points", xytext=(0, 10), ha='center', color='white')
    
    # X 라벨을 time, Y 라벨을 Price로 지정함.
    plt.xlabel('Time')
    plt.ylabel('Price')
    
    # 그래프 타이틀 지정
    plt.title('7레벨 보석 가격 변화 추이')
    
    # x 라벨을 45도 각도로 변환 (글자가 겹치지 않도록 함)
    plt.xticks(rotation=45)
    plt.tight_layout()
    plt.show()
  3. 그래프 결과 확인하기

https://github.com/rusharp1/api_study/blob/master/lostark_api/lostark_auction_jewel_plt.py

'postman&API' 카테고리의 다른 글

python을 사용하여 api response 값을 2번 받아 필요한 내용 출력하기.  (0) 2024.06.15
python을 사용하여 api 검색 결과값을 excel로 저장하기  (1) 2024.06.14
로스트아크 API를 사용하여 매시간 보석 가격 확인하기  (1) 2024.06.12
postman runner 을 사용하여 여러 변수를 한번에 테스트하기  (0) 2024.06.11
로스트아크 API 에서 response 값을 다른 request 값으로 보내기.  (0) 2024.06.09
'postman&API' 카테고리의 다른 글
  • python을 사용하여 api response 값을 2번 받아 필요한 내용 출력하기.
  • python을 사용하여 api 검색 결과값을 excel로 저장하기
  • 로스트아크 API를 사용하여 매시간 보석 가격 확인하기
  • postman runner 을 사용하여 여러 변수를 한번에 테스트하기
몽자비루
몽자비루
코딩공부 정리용 블로그입니다.
  • 몽자비루
    공부하는 블로그
    몽자비루
  • 전체
    오늘
    어제
    • 분류 전체보기 (170)
      • python (30)
        • python_selenium (16)
        • python_pygame (3)
      • appium (0)
      • 쿠버네티스 (60)
        • linux (8)
        • shell programming (8)
        • docker (18)
        • cka (23)
      • postman&API (16)
      • QA성장하기 (30)
        • 개발자에서 아키텍트로 스터디 (6)
        • 소프트웨어 공학 이해도 높이기 (6)
        • 테스팅 전문 지식 쌓기 (18)
      • 에러일기 (1)
      • Server&load (32)
        • AWS (27)
        • Jmeter (0)
        • load test (5)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
몽자비루
python을 사용하여 api 검색 결과값을 그래프로 만들기.
상단으로

티스토리툴바