[python] PySimpleGUI에서 뉴스 피드 애플리케이션 만들기

이번 포스트에서는 PySimpleGUI라는 파이썬 GUI 라이브러리를 사용하여 간단한 뉴스 피드 애플리케이션을 만드는 방법에 대해 알아보겠습니다. PySimpleGUI는 파이썬에서 GUI를 빠르고 쉽게 개발할 수 있도록 도와주는 라이브러리로, 훨씬 간결한 코드로 GUI 프로그램을 작성할 수 있습니다.

준비물

  1. Python 3.x 또는 더 높은 버전
  2. PySimpleGUI 라이브러리
  3. 뉴스 API 키

PySimpleGUI 설치

PySimpleGUI는 pip를 사용하여 쉽게 설치할 수 있습니다. 다음 명령을 실행하여 PySimpleGUI를 설치하세요.

pip install PySimpleGUI

뉴스 API 키 등록

뉴스 피드를 가져오기 위해서는 뉴스 API 키가 필요합니다. 뉴스 API 키는 NewsAPI에서 무료로 등록할 수 있습니다. 등록 후에는 API 키를 발급받아야 합니다.

애플리케이션 코드

이제 필요한 준비물을 모두 준비했으니, 이제 뉴스 피드 애플리케이션 코드를 작성해보겠습니다.

import PySimpleGUI as sg
import requests
import json

# 뉴스 API 키
API_KEY = "YOUR_API_KEY"

# 애플리케이션 테마 설정
sg.theme('DarkBlue')

# 뉴스 피드 가져오는 함수
def get_news():
    url = f"https://newsapi.org/v2/top-headlines?country=us&apiKey={API_KEY}"
    response = requests.get(url)
    json_data = json.loads(response.text)
    articles = json_data['articles']
    return articles

# GUI 레이아웃 정의
layout = [
    [sg.Text('뉴스 피드', size=(30, 1), justification='center', font=("Helvetica", 20), relief=sg.RELIEF_RAISED)],
    [sg.Listbox(values=get_news(), size=(80, 20), key='-NEWS-LIST-', enable_events=True)],
    [sg.Button('종료')]
]

# 애플리케이션 창 생성
window = sg.Window('뉴스 피드 애플리케이션', layout)

# 이벤트 루프
while True:
    event, values = window.read()
    if event == sg.WINDOW_CLOSED or event == '종료':
        break

# 애플리케이션 종료
window.close()

위의 코드는 뉴스 피드 애플리케이션의 기본적인 동작을 구현한 것입니다. 애플리케이션 창 안에는 뉴스 피드가 표시되며, 사용자가 리스트에서 뉴스를 선택할 수 있습니다.

뉴스 API 키를 YOUR_API_KEY로 바꾸고 실행해보세요. 그러면 콘솔에 JSON 형식의 뉴스 데이터가 출력될 것입니다.

결론

이렇게 PySimpleGUI를 사용하여 뉴스 피드 애플리케이션을 만들어보았습니다. PySimpleGUI를 사용하면 파이썬으로 GUI 애플리케이션을 쉽게 개발할 수 있습니다. 더 많은 기능을 추가하거나 사용자 인터페이스를 개선할 수도 있으니 참고해보세요.

참고 자료