Tesaan commited on
Commit
6ea293c
ยท
verified ยท
1 Parent(s): feb357a

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +34 -0
app.py ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ # ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๋ฅผ ํŠœํ”Œ์˜ ๋ฆฌ์ŠคํŠธ๋กœ ๋ณ€ํ™˜
20
+ web_results_tuples = [(url,) for url in web_results]
21
+ video_results_tuples = [(url,) for url in video_results]
22
+
23
+ return web_results_tuples, video_results_tuples
24
+
25
+ iface = gr.Interface(
26
+ fn=multi_search,
27
+ inputs=gr.Textbox(lines=2, placeholder="๊ฒ€์ƒ‰ํ•  ํ…์ŠคํŠธ๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”..."),
28
+ outputs=[gr.List(label="์›น ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ"), gr.List(label="YouTube ๋น„๋””์˜ค ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ")],
29
+ title="๋ฉ€ํ‹ฐ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ ์ถœ๋ ฅ",
30
+ description="์ž…๋ ฅ ํ…์ŠคํŠธ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์›น ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ์™€ YouTube ๋น„๋””์˜ค ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๋ฅผ ๊ตฌ๋ถ„ํ•˜์—ฌ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค."
31
+ )
32
+
33
+ if __name__ == "__main__":
34
+ iface.launch()