Spaces:
Paused
Paused
| import streamlit as st | |
| import requests | |
| # Function to search for movies or TV shows using the TMDb API | |
| def search_tmdb(query, media_type, api_key): | |
| url = f"https://api.themoviedb.org/3/search/{media_type}" | |
| params = { | |
| "api_key": api_key, | |
| "query": query, | |
| "language": "en-US", | |
| "page": 1, | |
| } | |
| response = requests.get(url, params=params) | |
| results = response.json().get("results", []) | |
| return results[:5] # Return only the first 5 results | |
| # Function to generate the embed link | |
| def generate_embed_link(tmdb_id, media_type): | |
| base_url = "https://v1.sdsp.xyz/embed" | |
| if media_type == "movie": | |
| return f"{base_url}/movies/{tmdb_id}" | |
| elif media_type == "tv": | |
| return f"{base_url}/tv/{tmdb_id}" | |
| # Streamlit app layout | |
| st.title("TMDb Movie & TV Show Search") | |
| st.write("Search for a movie or TV show and get 5 results with TMDb ID and embed link.") | |
| # Input fields for search query and media type | |
| query = st.text_input("Enter the movie or TV show name:") | |
| media_type = st.selectbox("Select media type:", ["movie", "tv"]) | |
| # API key (replace 'your_api_key' with your actual TMDb API key) | |
| api_key = "c8402e1c7b8bb9bcbf95b3fa3bad4d84" | |
| if st.button("Search"): | |
| if query and api_key: | |
| results = search_tmdb(query, media_type, api_key) | |
| if results: | |
| for result in results: | |
| title = result["title"] if media_type == "movie" else result["name"] | |
| tmdb_id = result["id"] | |
| embed_link = generate_embed_link(tmdb_id, media_type) | |
| st.write(f"**Title:** {title}") | |
| st.write(f"**TMDb ID:** {tmdb_id}") | |
| st.write(f"**Embed Link:** [Watch here]({embed_link})") | |
| st.write("---") | |
| else: | |
| st.write("No results found. Please try a different query.") | |
| else: | |
| st.write("Please enter a search query and ensure the API key is set.") | |