seawolf2357 commited on
Commit
03bb178
1 Parent(s): e6c5bf8

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +22 -22
app.py CHANGED
@@ -1,29 +1,29 @@
 
1
  import gradio as gr
2
- import requests
3
 
4
- # 구글 이미지 검색 함수
5
- def google_image_search(query):
6
- API_KEY = 'AIzaSyDUz3wkGal0ewRtPlzeMit88bV4hS4ZIVY'
7
- CX = '56b34994f47704ddd'
8
- URL = f"https://www.googleapis.com/customsearch/v1?q={query}&cx={CX}&searchType=image&key={API_KEY}"
9
-
10
- response = requests.get(URL)
11
- results = response.json()
12
- image_urls = []
13
 
14
- for item in results.get('items', []):
15
- image_url = item['link']
16
- image_urls.append(image_url)
 
 
17
 
18
- # 이미지 URL 리스트를 직접 반환
19
- return image_urls
 
 
20
 
21
- # Gradio 인터페이스 정의
22
- iface = gr.Interface(fn=google_image_search,
23
- inputs=gr.Textbox(lines=2, placeholder="검색할 이미지의 텍스트를 입력하세요..."),
24
- outputs=gr.Gallery(label="검색 결과 이미지"),
25
- title="구글 이미지 검색",
26
- description="텍스트를 입력하면 구글 이미지 검색 결과를 이미지로 보여줍니다.")
 
 
 
27
 
28
- # 인터페이스 실행
29
  iface.launch()
 
1
+ from googleapiclient.discovery import build
2
  import gradio as gr
 
3
 
4
+ # API 키와 검색 엔진 ID 설정
5
+ API_KEY = 'AIzaSyDUz3wkGal0ewRtPlzeMit88bV4hS4ZIVY'
6
+ CSE_ID = '56b34994f47704ddd'
 
 
 
 
 
 
7
 
8
+ def multi_search(query):
9
+ # Google Custom Search JSON API를 사용하여 웹 검색
10
+ service = build("customsearch", "v1", developerKey=API_KEY)
11
+ web_search_result = service.cse().list(q=query, cx=CSE_ID).execute()
12
+ web_results = [item['link'] for item in web_search_result.get('items', [])]
13
 
14
+ # YouTube Data API를 사용하여 비디오 검색
15
+ youtube = build('youtube', 'v3', developerKey=API_KEY)
16
+ video_search_result = youtube.search().list(q=query, part='snippet', type='video', maxResults=5).execute()
17
+ video_results = [f"https://www.youtube.com/watch?v={item['id']['videoId']}" for item in video_search_result.get('items', [])]
18
 
19
+ return web_results, video_results
20
+
21
+ iface = gr.Interface(
22
+ fn=multi_search,
23
+ inputs=gr.Textbox(lines=2, placeholder="검색할 텍스트를 입력하세요..."),
24
+ outputs=[gr.List(label=" 검색 결과"), gr.List(label="YouTube 비디오 검색 결과")],
25
+ title="멀티 검색 결과 출력",
26
+ description="입력 텍스트를 기준으로 웹 검색 결과와 YouTube 비디오 검색 결과를 구분하여 출력합니다."
27
+ )
28
 
 
29
  iface.launch()