|
from googleapiclient.discovery import build |
|
import bridges |
|
import time |
|
|
|
|
|
API_KEY = bridges.google_api |
|
CX = "90556d12415d84063" |
|
|
|
def buscar_imagenes_google(query, num_results=5): |
|
""" |
|
Realiza una búsqueda de imágenes en Google usando la Custom Search API. |
|
|
|
Args: |
|
query (str): El término de búsqueda. |
|
num_results (int): El número máximo de resultados a devolver (máx. 10 por solicitud). |
|
|
|
Returns: |
|
list: Una lista de diccionarios, donde cada diccionario representa una imagen |
|
y contiene su URL, título, etc. |
|
""" |
|
try: |
|
|
|
|
|
service = build("customsearch", "v1", developerKey=API_KEY) |
|
|
|
|
|
|
|
|
|
|
|
|
|
res = service.cse().list( |
|
q=query, |
|
cx=CX, |
|
searchType='image', |
|
num=num_results |
|
).execute() |
|
|
|
print("Esto es res:") |
|
print(res) |
|
time.sleep(18) |
|
|
|
|
|
items = res.get('items', []) |
|
|
|
resultados_imagenes = [] |
|
for item in items: |
|
resultados_imagenes.append({ |
|
'title': item.get('title'), |
|
'link': item.get('link'), |
|
'displayLink': item.get('displayLink'), |
|
'thumbnailLink': item['image'].get('thumbnailLink') if 'image' in item else None |
|
}) |
|
|
|
return resultados_imagenes |
|
|
|
except Exception as e: |
|
print(f"Ocurrió un error: {e}") |
|
return [] |
|
|
|
|
|
if __name__ == "__main__": |
|
termino_busqueda = "Mexico Day of the Dead" |
|
imagenes_encontradas = buscar_imagenes_google(termino_busqueda, num_results=3) |
|
|
|
if imagenes_encontradas: |
|
print(f"Imágenes encontradas para '{termino_busqueda}':") |
|
for i, imagen in enumerate(imagenes_encontradas): |
|
print(f"--- Imagen {i+1} ---") |
|
print(f"Título: {imagen.get('title')}") |
|
print(f"URL: {imagen.get('link')}") |
|
print(f"URL Miniatura: {imagen.get('thumbnailLink')}") |
|
print("-" * 20) |
|
else: |
|
print("No se encontraron imágenes o hubo un error.") |