- 파이썬과 PyGTK를 활용한 RSS 피드 리더 애플리케이션 개발
이번 포스트에서는 파이썬과 PyGTK를 사용하여 간단한 RSS 피드 리더 애플리케이션을 개발하는 방법에 대해 알아보겠습니다. RSS 피드는 다양한 웹사이트에서 내용을 구독할 수 있는 표준 포맷이며, 피드 리더는 사용자가 구독한 피드의 업데이트를 읽을 수 있도록 도와줍니다.
필요한 라이브러리 설치
먼저, 이 프로젝트를 위해 파이썬과 PyGTK를 설치해야 합니다. 아래 명령어를 사용하여 필요한 라이브러리를 설치하세요.
pip install pygtk
애플리케이션 구조
우선, 프로젝트의 기본 구조를 설정해야 합니다. 아래와 같이 파일과 폴더를 생성하세요.
rss_reader
├── rss_reader.py # 메인 애플리케이션 파일
└── feeds.txt # 구독할 피드 목록 파일
메인 애플리케이션 파일
rss_reader.py 파일을 열고 아래와 같이 코드를 작성하세요.
import pygtk
pygtk.require("2.0")
import gtk
import webbrowser
import feedparser
class RSSReader:
def __init__(self):
# 윈도우 생성
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.set_size_request(800, 600)
self.window.connect("delete_event", gtk.main_quit)
# 피드 목록 로드
self.feeds = self.load_feeds()
# 피드 목록을 트리뷰에 표시
self.treeview = gtk.TreeView()
column = gtk.TreeViewColumn("피드 목록")
cell = gtk.CellRendererText()
column.pack_start(cell)
column.add_attribute(cell, "text", 0)
self.treeview.append_column(column)
self.selection = self.treeview.get_selection()
self.selection.connect("changed", self.on_selection_changed)
# 스크롤 가능한 뷰에 트리뷰 추가
scrolled_window = gtk.ScrolledWindow()
scrolled_window.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
scrolled_window.add(self.treeview)
# 윈도우에 스크롤 가능한 뷰 추가
self.window.add(scrolled_window)
self.window.show_all()
def load_feeds(self):
feeds = []
with open("feeds.txt", "r") as file:
for line in file:
feeds.append(line.strip())
return feeds
def on_selection_changed(self):
model, selected_paths = self.selection.get_selected_rows()
for path in selected_paths:
feed_url = self.feeds[path[0]]
self.open_feed(feed_url)
def open_feed(self, feed_url):
feed = feedparser.parse(feed_url)
for entry in feed.entries:
title = entry.title
link = entry.link
print(f"제목: {title}")
print(f"링크: {link}")
print("-----")
webbrowser.open(feed_url)
def run(self):
gtk.main()
if __name__ == "__main__":
reader = RSSReader()
reader.run()
위 코드는 PyGTK를 사용하여 RSSReader 클래스를 정의합니다. 초기화 함수에서는 메인 윈도우를 생성하고 피드 목록을 로드합니다. 그리고 트리뷰를 생성하여 피드 목록을 표시하고, 선택이 변경될 때마다 선택된 피드를 열도록 합니다. 피드를 열 때는 feedparser 라이브러리를 사용하여 피드의 제목과 링크를 출력하고, 웹브라우저로 엽니다.
위 코드를 실행하면 RSS 피드를 구독할 수 있는 간단한 애플리케이션이 실행됩니다.
구독할 피드 목록 추가
feeds.txt 파일을 열고 구독할 피드를 한 줄에 하나씩 추가하세요.
https://example.com/rss-feed-1
https://example.com/rss-feed-2
https://example.com/rss-feed-3
마무리
이번 포스트에서는 파이썬과 PyGTK를 활용하여 간단한 RSS 피드 리더 애플리케이션을 개발하는 방법을 알아보았습니다. 이 예제를 활용하여 자신만의 피드 리더를 만들어 보세요. Happy coding!