[python] PySimpleGUI를 사용하여 실시간 주식 시세 애플리케이션 만들기

목차

  1. 소개
  2. PySimpleGUI란?
  3. 실시간 주식 시세 애플리케이션 만들기
  4. 참고 자료

소개

이 블로그 포스트에서는 PySimpleGUI를 사용하여 실시간 주식 시세 애플리케이션을 만드는 방법을 소개합니다. 주식 시세에 대한 실시간 업데이트를 통해 사용자에게 주식 시장 동향을 보여주는 간단한 애플리케이션을 개발할 것입니다.

PySimpleGUI란?

PySimpleGUI는 Python에서 GUI 애플리케이션을 만들기 위한 간편하고 직관적인 라이브러리입니다. PySimpleGUI를 사용하면 텍스트, 버튼, 입력 상자 등과 같은 GUI 요소를 쉽게 추가할 수 있습니다. 또한 다양한 플랫폼에서 동작하도록 지원되며, 코드의 재사용 및 유지보수가 용이합니다.

실시간 주식 시세 애플리케이션 만들기

  1. 필요한 패키지를 설치합니다.
pip install PySimpleGUI requests beautifulsoup4
  1. PySimpleGUI를 사용하여 GUI 레이아웃을 구성합니다.
import PySimpleGUI as sg

layout = [
    [sg.Text('주식 시세', font='helvetica 20')],
    [sg.Input('', key='stock_code'), sg.Button('조회', key='search')],
    [sg.Text('', key='result')],
]

window = sg.Window('실시간 주식 시세 애플리케이션', layout)
  1. 사용자 입력을 받아와서 실시간 주식 시세를 가져오는 기능을 구현합니다.
import requests
from bs4 import BeautifulSoup

def get_stock_price(stock_code):
    url = f'https://finance.yahoo.com/quote/{stock_code}'
    res = requests.get(url)
    soup = BeautifulSoup(res.text, 'html.parser')
    price = soup.find('div', {'class': 'D(ib) Mend(20px)'}).find('span').text

    return price
  1. PySimpleGUI를 사용하여 이벤트를 처리하고 결과를 업데이트하는 기능을 구현합니다.
while True:
    event, values = window.read()
    if event == sg.WINDOW_CLOSED:
        break
    
    if event == 'search':
        stock_code = values['stock_code']
        price = get_stock_price(stock_code)
        window['result'].update(f'현재 시세: {price}')
  1. 애플리케이션을 실행합니다.
window.close()

참고 자료