Spaces:
Runtime error
Runtime error
| import streamlit as st | |
| from youtube_transcript_api import YouTubeTranscriptApi | |
| def Transcript(url): | |
| id = url.split('watch?v=') | |
| if len(id) < 2: | |
| st.error("Invalid URL format. Please provide a valid YouTube video URL.") | |
| return None | |
| video_id = id[1] | |
| try: | |
| srt = YouTubeTranscriptApi.get_transcript(video_id) | |
| except youtube_transcript_api._errors.TranscriptsDisabled: | |
| st.error("Transcripts are disabled for this video.") | |
| return None | |
| except youtube_transcript_api._errors.NoTranscriptAvailable: | |
| st.error("Transcript not available for the provided video.") | |
| return None | |
| except Exception as e: | |
| st.error(f"An error occurred: {e}") | |
| return None | |
| text_list = [] | |
| for i in srt: | |
| text_list.append(i['text']) | |
| return ' '.join(text_list) | |
| st.title('YouTube Video Transcript Extractor') | |
| url = st.text_input("Enter YouTube URL:") | |
| if st.button("Get Transcript"): | |
| if url: | |
| text = Transcript(url) | |
| if text is not None: | |
| st.success("Transcript successfully fetched!") | |
| st.text_area("Transcript", text, height=300) | |
| else: | |
| st.warning("Please enter a URL.") | |