tx3bas commited on
Commit
4289b02
·
verified ·
1 Parent(s): 6b0efc5

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +36 -18
app.py CHANGED
@@ -1,24 +1,42 @@
1
  import os
2
- import requests
3
  import json
 
 
4
 
5
- # Lee la clave de la API desde una variable de entorno
6
- api_key = os.getenv('API_KEY')
 
7
 
8
- # Define la URL y los headers para la solicitud
9
- url = 'https://us-east-1.serp.ing/api/v1/google/serp?q=coffee&hl=en&gl=us&num=10&snapshot=off&thumbnail=on'
10
- headers = {
11
- 'X-API-KEY': api_key,
12
- 'Content-Type': 'application/json'
13
- }
 
14
 
15
- # Realiza la solicitud GET a la API
16
- response = requests.get(url, headers=headers)
17
 
18
- # Si la respuesta es JSON, convierte la respuesta a un diccionario de Python
19
- if response.status_code == 200:
20
- response_json = response.json()
21
- # Muestra el JSON resultante
22
- print(json.dumps(response_json, indent=2))
23
- else:
24
- print(f'Error: {response.status_code}')
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  import os
2
+ import subprocess
3
  import json
4
+ import gradio as gr
5
+ from dotenv import load_dotenv
6
 
7
+ # Cargar la clave API desde el archivo .env
8
+ load_dotenv()
9
+ API_KEY = os.getenv('API_KEY')
10
 
11
+ def make_request(query):
12
+ command = [
13
+ 'curl',
14
+ f'https://us-east-1.serp.ing/api/v1/google/serp?q={query}&hl=en&gl=us&num=10&snapshot=off&thumbnail=on',
15
+ '--header', f'X-API-KEY: {API_KEY}',
16
+ '--header', 'Content-Type: application/json'
17
+ ]
18
 
19
+ result = subprocess.run(command, capture_output=True, text=True)
20
+ response = result.stdout
21
 
22
+ try:
23
+ response_json = json.loads(response)
24
+ return response_json
25
+ except json.JSONDecodeError:
26
+ return {"error": "Failed to parse the response as JSON"}
27
+
28
+ # Interfaz de Gradio
29
+ def query_interface(query):
30
+ result = make_request(query)
31
+ return result
32
+
33
+ # Crear la interfaz de Gradio
34
+ iface = gr.Interface(fn=query_interface,
35
+ inputs=gr.Textbox(label="Search Query"),
36
+ outputs="json",
37
+ title="API Query Interface",
38
+ description="Enter a search query to fetch data from the API.")
39
+
40
+ # Ejecutar la interfaz
41
+ if __name__ == "__main__":
42
+ iface.launch()