File size: 1,264 Bytes
f8426cc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
from serpapi import GoogleSearch
import gradio as gr

# SERP API 키 설정
API_KEY = "facc404e1b9394771101069c8ea6984719db4b437136cb33f7935e67dad7093f"

def search_and_show_image(query):
    params = {
        "engine": "google",
        "q": query,
        "api_key": API_KEY,
        "google_domain": "google.com",
        "gl": "us",
        "hl": "en"
    }
    
    search = GoogleSearch(params)
    results = search.get_dict()
    organic_results = results.get("organic_results", [])
    
    if organic_results:
        # 첫 번째 검색 결과의 스크린샷 이미지 URL을 가져옵니다.
        # 스크린샷 이미지가 없는 경우, 대체 텍스트를 반환합니다.
        first_result = organic_results[0]
        screenshot_url = first_result.get("screenshot", {}).get("src", "No screenshot available for this result.")
        return screenshot_url
    else:
        return "No results found."

# Gradio 인터페이스 구성
with gr.Blocks() as demo:
    with gr.Row():
        query_input = gr.Textbox(label="검색어 입력")
        submit_button = gr.Button("검색")
    image_output = gr.Image()
    
    submit_button.click(search_and_show_image, inputs=query_input, outputs=image_output)

# Gradio 앱 실행
demo.launch()