Francogv commited on
Commit
c41cc8c
verified
1 Parent(s): 3f5cc0c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +35 -25
app.py CHANGED
@@ -1,10 +1,6 @@
1
  import requests
2
  from fastapi import FastAPI
3
  from pydantic import BaseModel
4
- from googlesearch import search
5
- import uvicorn
6
-
7
- # Inicializa la aplicaci贸n FastAPI
8
 
9
  app = FastAPI()
10
 
@@ -12,41 +8,54 @@ app = FastAPI()
12
  class ConsultaRequest(BaseModel):
13
  consulta: str
14
 
 
 
 
 
15
  def busqueda_google(consulta: str):
16
  """
17
- Busca en Google y devuelve los dos primeros resultados.
18
  """
19
- resultados = []
20
  try:
21
- enlaces_encontrados = search(consulta, num_results=2, lang='es')
22
-
23
- for enlace in enlaces_encontrados:
24
- resultados.append({
25
- "texto": "Resultado encontrado en Google",
26
- "url": enlace
27
- })
28
-
29
- if resultados:
30
- return {
31
- "resultado_1": resultados[0],
32
- "resultado_2": resultados[1] if len(resultados) > 1 else None
33
- }
34
- else:
35
  return None
 
 
 
 
 
 
 
 
 
 
 
 
36
  except Exception as e:
37
- print(f"Error en la b煤squeda de Google: {e}")
38
  return None
39
 
40
- # --- API FastAPI ---
41
  @app.post("/leer")
42
  async def buscar(request_body: ConsultaRequest):
 
 
 
43
  consulta = request_body.consulta
44
  if not consulta:
45
- return {"error": "Falta la consulta"}
46
 
47
  print(f"Consulta recibida: {consulta}")
48
 
49
- # Buscar en Google
50
  resultado = busqueda_google(consulta)
51
 
52
  if resultado:
@@ -55,7 +64,8 @@ async def buscar(request_body: ConsultaRequest):
55
  "resultados": resultado
56
  }
57
 
58
- return {"error": "No se encontraron resultados"}
 
59
 
60
  # Para Hugging Face Spaces
61
  if __name__ == "__main__":
 
1
  import requests
2
  from fastapi import FastAPI
3
  from pydantic import BaseModel
 
 
 
 
4
 
5
  app = FastAPI()
6
 
 
8
  class ConsultaRequest(BaseModel):
9
  consulta: str
10
 
11
+ # --- Configuraci贸n de Google CSE ---
12
+ API_KEY = "AIzaSyAej8rDfcGTBKos8UtOSJ8KYyfwK9QLa1k"
13
+ CX = "d453e209e2d3042bd"
14
+
15
  def busqueda_google(consulta: str):
16
  """
17
+ Busca en Google CSE y devuelve los dos primeros resultados.
18
  """
 
19
  try:
20
+ url = "https://www.googleapis.com/customsearch/v1"
21
+ params = {
22
+ "q": consulta,
23
+ "key": API_KEY,
24
+ "cx": CX,
25
+ "hl": "es"
26
+ }
27
+ response = requests.get(url, params=params)
28
+ data = response.json()
29
+
30
+ if "items" not in data:
 
 
 
31
  return None
32
+
33
+ items = data["items"][:2]
34
+
35
+ resultados = {
36
+ f"resultado_{i+1}": {
37
+ "texto": it.get("title"),
38
+ "url": it.get("link")
39
+ }
40
+ for i, it in enumerate(items)
41
+ }
42
+
43
+ return resultados if resultados else None
44
  except Exception as e:
45
+ print(f"Error en la b煤squeda de Google CSE: {e}")
46
  return None
47
 
 
48
  @app.post("/leer")
49
  async def buscar(request_body: ConsultaRequest):
50
+ """
51
+ Endpoint principal para la b煤squeda.
52
+ """
53
  consulta = request_body.consulta
54
  if not consulta:
55
+ return {"error": "Falta la consulta"}, 400
56
 
57
  print(f"Consulta recibida: {consulta}")
58
 
 
59
  resultado = busqueda_google(consulta)
60
 
61
  if resultado:
 
64
  "resultados": resultado
65
  }
66
 
67
+ return {"error": "No se encontraron resultados"}, 404
68
+
69
 
70
  # Para Hugging Face Spaces
71
  if __name__ == "__main__":