yearye commited on
Commit
fea8200
ยท
verified ยท
1 Parent(s): 2a781a4

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +36 -0
app.py ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import pandas as pd
3
+ import joblib
4
+ from predict_module import extract_features_from_video_id, predict_view_count, visualize_result, predict_views
5
+
6
+ # joblib์—์„œ load๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค
7
+ from joblib import load
8
+
9
+ # ๋ชจ๋ธ ๋กœ๋“œ (ํŒŒ์ผ ๊ฒฝ๋กœ๋Š” Hugging Face Spaces ๊ธฐ์ค€ ์ƒ๋Œ€๊ฒฝ๋กœ๋กœ)
10
+ model = load("view_predictor.joblib")
11
+
12
+ # YouTube API ํ‚ค ์„ค์ •
13
+ api_key = "AIzaSyAgkZQp9EqA6N49J7TCh6Q40mWyVIGBit8"
14
+
15
+ st.title("๐ŸŽฌ YouTube ์กฐํšŒ์ˆ˜ ์˜ˆ์ธก๊ธฐ")
16
+
17
+ # ์‚ฌ์šฉ์ž ์ž…๋ ฅ
18
+ video_id = st.text_input("YouTube ์˜์ƒ ID๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”:")
19
+
20
+ if st.button("์˜ˆ์ธก ์‹œ์ž‘"):
21
+ try:
22
+ # ์ „์ฒด ์ •๋ณด
23
+ info = predict_views(video_id, api_key)
24
+
25
+ # ํŠน์ง• ์ถ”์ถœ
26
+ features = extract_features_from_video_id(video_id, api_key)
27
+
28
+ # ์˜ˆ์ธก
29
+ predicted = predict_view_count(model, features)
30
+
31
+ # ์‹œ๊ฐํ™” ์ถœ๋ ฅ
32
+ html = visualize_result(video_id, features, predicted, info)
33
+ st.components.v1.html(html, height=1000)
34
+
35
+ except Exception as e:
36
+ st.error(f"โŒ ์˜ค๋ฅ˜ ๋ฐœ์ƒ: {e}")