[python] Flask를 사용하여 뉴스 피드 서비스 구현하기
이번에는 Python의 Flask 프레임워크를 사용하여 간단한 뉴스 피드 서비스를 구현해 보겠습니다. 이 서비스는 사용자가 최신 뉴스를 확인할 수 있는 기능을 제공할 것입니다.
목표
- Python과 Flask를 사용하여 웹 어플리케이션을 개발하는 방법을 이해한다.
- 뉴스 API를 연동하여 실제 뉴스 정보를 가져와 보여준다.
- 사용자에게 뉴스 카테고리를 선택할 수 있는 기능을 제공한다.
준비물
- Python 3
- Flask
- 뉴스 API 키 (예: NewsAPI)
단계별 구현
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를 사용하여 간단한 뉴스 피드 서비스를 구현하는 방법에 대해 알아보았습니다. 이를 확장하여 더 많은 기능을 추가하고 사용자 경험을 향상시킬 수 있습니다. 결과물을 개선하고 다양한 기능을 추가하여 완성도 높은 뉴스 피드 서비스를 제작해보세요!