from serpapi import GoogleSearch import gradio as gr # SerpAPI 설정 SERP_API_KEY = "56b76bc0db7f66e70958810f3486e99a7ad4fc9b4ad0719e34478b20d2f7ec4f" def multi_search_serpapi(query): # SerpAPI를 사용하여 Google 웹 검색 params = { "engine": "google", "q": query, "api_key": SERP_API_KEY } search = GoogleSearch(params) results = search.get_dict() organic_results = results.get("organic_results", []) web_results = [(result['link'],) for result in organic_results] # SerpAPI를 사용하여 YouTube 검색 youtube_params = { "engine": "youtube", "search_query": query, "api_key": SERP_API_KEY } youtube_search = GoogleSearch(youtube_params) youtube_results = youtube_search.get_dict() video_results = [(f"https://www.youtube.com/watch?v={video['video_id']}",) for video in youtube_results.get("videos", [])] return web_results, video_results iface = gr.Interface( fn=multi_search_serpapi, inputs=gr.Textbox(lines=2, placeholder="검색할 텍스트를 입력하세요..."), outputs=[gr.List(label="웹 검색 결과"), gr.List(label="YouTube 비디오 검색 결과")], title="멀티 검색 결과 출력", description="입력 텍스트를 기준으로 웹 검색 결과와 YouTube 비디오 검색 결과를 구분하여 출력합니다." ) if __name__ == "__main__": iface.launch()