CodeFella/Movie-Recommendation-System
0
1 2import pandas as pd3import streamlit as st4import pickle5import requests6 7movie_dict = pickle.load(open('movie_dict.pkl','rb'))8movies = pd.DataFrame(movie_dict)9similarity = pickle.load(open('similarity.pkl','rb'))10 11def fetch_poster(movie_id):12 response = requests.get('https://api.themoviedb.org/3/movie/{}?api_key=be43e0f2de82f79f518e3564bb084af9&language=en-US'.format(movie_id))13 data= response.json()14 # st.text(data)15 return "https://image.tmdb.org/t/p/original" + data['poster_path']16 17 18def recommend(movie):19 movie_index = movies[movies['title'] == movie].index[0]20 distances = similarity[movie_index]21 movies_list = sorted(list(enumerate(distances)), reverse=True, key=lambda x: x[1])[1:6]22 23 recommended_movies = []24 recommended_movie_posters = []25 for i in movies_list:26 movie_id = movies.iloc[i[0]].movie_id27 recommended_movies.append(movies.iloc[i[0]].title)28 recommended_movie_posters.append(fetch_poster(movie_id))29 return recommended_movies,recommended_movie_posters30 31st.title("Movie Recommender System")32 33selected_movie_name = st.selectbox(34'Select you favourite movie',35(movies['title'].values))36 37if st.button('Recommend'):38 names, posters = recommend(selected_movie_name)39 cols = st.columns(5)40 for i in range(5):41 with cols[i]:42 st.text(names[i])43 st.image(posters[i])44 