import streamlit as st import pandas as pd import joblib from predict_module import extract_features_from_video_id, predict_view_count, visualize_result, predict_views api_key = "AIzaSyAgkZQp9EqA6N49J7TCh6Q40mWyVIGBit8" model = joblib.load("model/view_predictor.joblib") st.title("๐ŸŽฌ YouTube ์กฐํšŒ์ˆ˜ ์˜ˆ์ธก๊ธฐ") video_id = st.text_input("YouTube ์˜์ƒ ID๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”:") if st.button("์˜ˆ์ธก ์‹œ์ž‘"): try: # โถ info = ์˜์ƒ ์ „์ฒด ์ •๋ณด ํฌํ•จ info = predict_views(video_id, api_key) # โท features๋งŒ ์ถ”์ถœ features = extract_features_from_video_id(video_id, api_key) # โธ ์˜ˆ์ธก predicted = predict_view_count(model, features) # โน ์‹œ๊ฐํ™”ํ•  ๋•Œ info๋„ ๋„˜๊น€ html = visualize_result(video_id, features, predicted, info) st.components.v1.html(html, height=1000) except Exception as e: st.error(f"โŒ ์˜ค๋ฅ˜ ๋ฐœ์ƒ: {e}")