[python] Flask를 사용하여 뉴스 피드 서비스 구현하기

이번에는 Python의 Flask 프레임워크를 사용하여 간단한 뉴스 피드 서비스를 구현해 보겠습니다. 이 서비스는 사용자가 최신 뉴스를 확인할 수 있는 기능을 제공할 것입니다.

목표

준비물

단계별 구현

1. Flask 설치

먼저 Flask를 설치합니다.

pip install flask

2. Flask 애플리케이션 만들기

다음은 간단한 Flask 애플리케이션을 구현하는 코드입니다.

from flask import Flask

app = Flask(__name__)

@app.route('/')
def index():
    return 'Hello, World!'

if __name__ == '__main__':
    app.run()

3. 뉴스 API 연동

뉴스 API를 사용하여 뉴스 정보를 가져옵니다. 이를 위해서는 뉴스 API의 키가 필요하며, 요청을 보내고 응답을 처리하는 기능을 구현해야 합니다.

import requests

def get_news(api_key, category):
    url = f'https://newsapi.org/v2/top-headlines?category={category}&apiKey={api_key}'
    response = requests.get(url)
    data = response.json()
    return data['articles']

4. 템플릿 사용하여 뉴스 피드 표시

Flask에서는 HTML 템플릿을 사용하여 웹 페이지를 구성할 수 있습니다. 뉴스 정보를 가져와서 템플릿에 적용하여 사용자에게 보여줍니다.

from flask import render_template

@app.route('/news/<category>')
def news_feed(category):
    news = get_news(api_key, category)
    return render_template('news.html', news=news)

5. 뉴스 카테고리 선택 기능 추가

사용자가 원하는 뉴스 카테고리를 선택할 수 있는 기능을 추가합니다. 이를 위해 템플릿에 폼을 추가하여 사용자 입력을 받고, 해당 카테고리의 뉴스를 보여줍니다.

마치며

Python과 Flask를 사용하여 간단한 뉴스 피드 서비스를 구현하는 방법에 대해 알아보았습니다. 이를 확장하여 더 많은 기능을 추가하고 사용자 경험을 향상시킬 수 있습니다. 결과물을 개선하고 다양한 기능을 추가하여 완성도 높은 뉴스 피드 서비스를 제작해보세요!