import gradio as gr from youtube_extractor import YouTubeExtractor extractor = YouTubeExtractor() def process_youtube_url(youtube_url): metadata, best_video_only, best_audio_only, best_combined = extractor.extract_info(youtube_url) return extractor.format_output(metadata, best_video_only, best_audio_only, best_combined) with gr.Blocks() as demo: gr.Markdown("## YouTube 메타데이터 및 다운로드 링크 추출기") gr.Markdown("주의: 이 도구를 사용하여 저작권이 있는 콘텐츠를 무단으로 다운로드하는 것은 불법입니다.") youtube_url_input = gr.Textbox(label="YouTube URL 입력") extract_button = gr.Button("정보 추출") output = gr.Textbox(label="추출된 정보", lines=10) download_links = gr.HTML(label="다운로드 링크") extract_button.click( fn=process_youtube_url, inputs=youtube_url_input, outputs=[output, download_links] ) if __name__ == "__main__": demo.launch()