728x90
이제 단순한 실습은 그만, 실무에 가까운 프로젝트를 만들어볼 차례입니다. 이 글에서는 지금까지 배운 내용을 종합하여 실제 구직 시 포트폴리오로 활용 가능한 웹 기반 프로젝트를 구성합니다. 데이터 수집, 자동화, 분석, 시각화, 웹 앱 배포까지 한 번에 경험해보세요.
1. 프로젝트 개요: 뉴스 키워드 분석 웹 앱 만들기
이 프로젝트는 웹에서 뉴스를 스크래핑하거나 API로 수집한 후, 텍스트 분석을 통해 키워드를 추출하고 이를 시각화해 Flask 웹 앱으로 서비스하는 형태입니다.
- 1단계: 뉴스 데이터 수집
- 2단계: pandas로 정제 및 전처리
- 3단계: 단어 빈도 분석
- 4단계: matplotlib/seaborn 시각화
- 5단계: Flask로 웹 앱 구축
2. 디렉터리 구조 예시
news_keyword_project/
│
├── app.py
├── static/
│ └── keyword.png
└── templates/
└── result.html
3. 전체 코드: app.py
from flask import Flask, render_template
from collections import Counter
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import os
app = Flask(__name__)
def process_news():
titles = [
"경제 성장률 발표", "부동산 시장 변화",
"성장률과 금리의 관계", "정부, 경제 대책 발표",
"AI 기술의 확산", "AI 산업 전망", "경제 회복 기대"
]
df = pd.DataFrame({"제목": titles})
df["제목"] = df["제목"].str.lower().str.replace(r"[^가-힣a-z\s]", "", regex=True)
all_words = " ".join(df["제목"]).split()
counter = Counter(all_words)
most_common = counter.most_common(10)
df_freq = pd.DataFrame(most_common, columns=["단어", "빈도"])
sns.set(style="whitegrid")
plt.figure(figsize=(8, 4))
sns.barplot(x="빈도", y="단어", data=df_freq, palette="Blues_d")
plt.title("뉴스 키워드 빈도수 Top 10")
plt.tight_layout()
os.makedirs("static", exist_ok=True)
plt.savefig("static/keyword.png")
plt.close()
@app.route("/")
def index():
process_news()
return render_template("result.html")
if __name__ == "__main__":
app.run(debug=True)
4. HTML 템플릿: templates/result.html
뉴스 키워드 분석 결과
뉴스 키워드 분석 결과
▶ 실행 방법
- 필요한 패키지 설치:
pip install flask pandas matplotlib seaborn
- 앱 실행:
python app.py
- 브라우저에서
http://localhost:5000
접속
5. 포트폴리오 효과 및 확장 아이디어
- 실제 데이터 처리 + 시각화 + 웹 인터페이스 경험
- Flask 웹 앱 기본 구조 익힘
- 다음 확장 가능:
- 실제 뉴스 스크래핑 연동
- 워드클라우드로 시각화
- 사용자 검색 기능 추가
- DB에 분석 결과 저장
6. GitHub 포트폴리오 활용 팁
- 전체 코드 업로드 +
README.md
에 사용 기술 명시 - 실행 스크린샷 첨부
- 배포 버전 링크 있으면 더 좋음 (e.g. Render, Replit, Vercel)
정리 및 다음 단계 안내
이번 글에서는 지금까지 배운 기술을 하나의 실전 프로젝트로 통합하여 실행 가능한 포트폴리오 형태로 완성해보았습니다. 다음 글은 보너스 챕터로, 실무 활용 팁과 배포, Git 관리 전략 등을 다룰 예정입니다.
반응형
'08.개발&프로그래밍 > 1.파이썬' 카테고리의 다른 글
2. 개발자 도구 & 추천 IDE: 생산성 높이는 필수 툴 모음 (0) | 2025.07.15 |
---|---|
보너스 챕터: 1. 파이썬 코딩 테스트 준비 전략 (0) | 2025.07.15 |
9. 간단한 챗봇 만들기 프로젝트 - Flask로 구현하는 대화형 웹 앱 (0) | 2025.07.13 |
8. Flask로 웹 앱 만들기 입문 - Python 웹 개발 기초 (0) | 2025.07.13 |
7. 데이터 시각화 기본 - matplotlib과 seaborn 입문 (0) | 2025.07.13 |