[파이썬] Flask에서의 RSS 피드 생성

RSS(Really Simple Syndication)는 웹 콘텐츠를 구독하는데 사용되는 표준 XML 형식입니다. RSS 피드는 컨텐츠를 구독자들에게 제공하고 업데이트를 쉽게 알릴 수 있는 효율적인 방법입니다.

우리는 Flask 웹 애플리케이션에서 RSS 피드를 동적으로 생성할 수 있습니다. 이를 통해 사용자는 새로운 컨텐츠가 업데이트될 때마다 피드를 구독하고 신속하게 확인할 수 있습니다.

dependncies

RSS 피드를 생성하기 위해 파이썬 feedgen 라이브러리를 사용하겠습니다. 먼저 Flask 애플리케이션에 feedgen을 설치합니다.

pip install feedgen

RSS 피드 생성하기

Flask 애플리케이션에서 RSS 피드를 생성하려면 다음 단계를 따릅니다:

  1. 필요한 라이브러리 가져오기:
from flask import Flask, render_template
from feedgen.feed import FeedGenerator
  1. Flask 애플리케이션 생성:
app = Flask(__name__)
  1. 라우트 및 피드 생성:
@app.route('/feed')
def generate_feed():
    # 피드 생성기 생성
    fg = FeedGenerator()
    
    # 피드 메타데이터 설정
    fg.title('My Blog')
    fg.link(href='https://www.example.com', rel='alternate')
    fg.description('Latest blog posts')
    fg.language('en')
    
    # 블로그 포스트를 반복하며 항목 추가
    for post in BlogPost.query.all():
        fe = fg.add_entry()
        fe.title(post.title)
        fe.link(href=f"https://www.example.com/posts/{post.id}")
        fe.description(post.content)
        fe.pubDate(post.created_at)
    
    # 피드 XML 반환
    return fg.rss_str()
  1. 플라스크 애플리케이션 실행:
if __name__ == '__main__':
    app.run()

이제 https://www.example.com/feed에 접속하면 동적으로 생성된 RSS 피드를 확인할 수 있습니다.

결론

Flask를 사용하면 RSS 피드를 동적으로 생성할 수 있으며, 사용자에게 올바른 형식의 피드를 제공할 수 있습니다. 이를 통해 사용자는 새로운 컨텐츠를 더 쉽게 구독하고 업데이트를 신속하게 확인할 수 있습니다.