Tesaan commited on
Commit
c8d2441
ยท
verified ยท
1 Parent(s): 5bfb5de

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +25 -19
app.py CHANGED
@@ -1,29 +1,35 @@
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="๋ฉ€ํ‹ฐ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ ์ถœ๋ ฅ",
 
1
+ from serpapi import GoogleSearch
2
  import gradio as gr
3
 
4
+ # SerpAPI ์„ค์ •
5
+ SERP_API_KEY = "56b76bc0db7f66e70958810f3486e99a7ad4fc9b4ad0719e34478b20d2f7ec4f"
 
6
 
7
+ def multi_search_serpapi(query):
8
+ # SerpAPI๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Google ์›น ๊ฒ€์ƒ‰
9
+ params = {
10
+ "engine": "google",
11
+ "q": query,
12
+ "api_key": SERP_API_KEY
13
+ }
14
+ search = GoogleSearch(params)
15
+ results = search.get_dict()
16
+ organic_results = results.get("organic_results", [])
17
+ web_results = [(result['link'],) for result in organic_results]
18
 
19
+ # SerpAPI๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ YouTube ๊ฒ€์ƒ‰
20
+ youtube_params = {
21
+ "engine": "youtube",
22
+ "search_query": query,
23
+ "api_key": SERP_API_KEY
24
+ }
25
+ youtube_search = GoogleSearch(youtube_params)
26
+ youtube_results = youtube_search.get_dict()
27
+ video_results = [(f"https://www.youtube.com/watch?v={video['video_id']}",) for video in youtube_results.get("videos", [])]
28
 
29
+ return web_results, video_results
 
 
 
 
30
 
31
  iface = gr.Interface(
32
+ fn=multi_search_serpapi,
33
  inputs=gr.Textbox(lines=2, placeholder="๊ฒ€์ƒ‰ํ•  ํ…์ŠคํŠธ๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”..."),
34
  outputs=[gr.List(label="์›น ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ"), gr.List(label="YouTube ๋น„๋””์˜ค ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ")],
35
  title="๋ฉ€ํ‹ฐ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ ์ถœ๋ ฅ",