4
4
import pandas as pd
5
5
6
6
7
-
8
7
def fetch_poster (movie_id ):
9
- url = "https://api.themoviedb.org/3/movie/{}?api_key=8265bd1679663a7ea12ac168da84d2e8&language=en-US" .format (movie_id )
8
+ url = "https://api.themoviedb.org/3/movie/{}?api_key=8265bd1679663a7ea12ac168da84d2e8&language=en-US" .format (
9
+ movie_id )
10
10
data = requests .get (url )
11
11
data = data .json ()
12
12
poster_path = data ['poster_path' ]
13
13
full_path = "https://image.tmdb.org/t/p/w500/" + poster_path
14
14
return full_path
15
15
16
+
16
17
def recommend (movie ):
17
18
index = movies [movies ['title' ] == movie ].index [0 ]
18
- distances = sorted (list (enumerate (similarity [index ])), reverse = True , key = lambda x : x [1 ])
19
+ distances = sorted (
20
+ list (enumerate (similarity [index ])), reverse = True , key = lambda x : x [1 ])
19
21
recommended_movie_names = []
20
22
recommended_movie_posters = []
21
23
for i in distances [1 :6 ]:
@@ -24,13 +26,13 @@ def recommend(movie):
24
26
recommended_movie_posters .append (fetch_poster (movie_id ))
25
27
recommended_movie_names .append (movies .iloc [i [0 ]].title )
26
28
27
- return recommended_movie_names ,recommended_movie_posters
29
+ return recommended_movie_names , recommended_movie_posters
28
30
29
31
30
32
st .header ('TMDB Movie Recommender System' )
31
- movies = pickle .load (open ('movie_list.pkl' ,'rb' ))
33
+ movies = pickle .load (open ('movie_list.pkl' , 'rb' ))
32
34
movies = pd .DataFrame (movies )
33
- similarity = pickle .load (open ('similarity.pkl' ,'rb' ))
35
+ similarity = pickle .load (open ('similarity.pkl' , 'rb' ))
34
36
35
37
movie_list = movies ['title' ].values
36
38
selected_movie = st .selectbox (
@@ -39,7 +41,8 @@ def recommend(movie):
39
41
)
40
42
41
43
if st .button ('Show Recommendation' ):
42
- recommended_movie_names ,recommended_movie_posters = recommend (selected_movie )
44
+ recommended_movie_names , recommended_movie_posters = recommend (
45
+ selected_movie )
43
46
# for i in recommended_movie_names,recommended_movie_posters:
44
47
# st.write(i)
45
48
col1 , col2 , col3 , col4 , col5 = st .columns (5 )
@@ -59,5 +62,3 @@ def recommend(movie):
59
62
with col5 :
60
63
st .text (recommended_movie_names [4 ])
61
64
st .image (recommended_movie_posters [4 ])
62
-
63
-
0 commit comments