google-api - software - reconocimiento de imagenes python
La búsqueda de imágenes de Google dice que la API ya no está disponible (8)
Ahora puede buscar imágenes con la API de búsqueda de imágenes personalizadas.
Puede hacer esto con dos pasos:
1) Obtenga CUSTOM_SEARCH_ID
Vaya a: https://cse.google.ru/cse/all
Aquí debes crear un nuevo motor de búsqueda. Haga esto y habilite la búsqueda de imágenes allí.
Pantalla (soy ruso ... lo siento)
luego obtenga esta ID de motor de búsqueda. Para hacer esto, presione el botón Obtener código:
Y allí encontrará una línea con cx = "aquí estará su CUSTOM_SEARCH_ID":
Okay. Ya está hecho, ahora segundo paso:
2) Obtenga SERVER_KEY
Vaya a la Consola de Google: https://console.developers.google.com/project
Presione para crear el botón del proyecto, ingrese el nombre y otra información requerida. Elija este proyecto y vaya a Habilitar Apis Ahora encuentre Motor de búsqueda personalizado.
Ahora debemos ir a Credenciales y crear una nueva Clave de servidor:
Okay. Ahora podemos usar la búsqueda de imágenes.
Consulta:
https://www.googleapis.com/customsearch/v1?key=SERVER_KEY&cx=CUSTOM_SEARCH_ID&q=flower&searchType=image&fileType=jpg&imgSize=xlarge&alt=json
Reemplace SERVER_KEY y CUSTOM_SEARCH_ID y llame a esta solicitud.
Límite: de forma gratuita, puede buscar solo 100 imágenes por día. Gracias por la atención.
Estoy usando la API de búsqueda de imágenes de Google. Hasta ayer estaba funcionando, pero hoy por la mañana dice "Esta API ya no está disponible"
¿Está oficialmente cerrado, o algún error a mi lado?
Solicitud
https://ajax.googleapis.com/ajax/services/search/images?v=1.0&rsz=8&q=cute+kittens
Respuesta
{"responseData": null, "responseDetails": "This API is no longer available.", "responseStatus": 403}
Cambiar la URL de la API a la https://www.googleapis.com/customsearch/v1
Proporcione los mismos parámetros junto con API KEY y CX.
Esta es la plantilla de URL completa que se utilizará
Podemos eliminar parámetros innecesarios.
https://www.googleapis.com/customsearch/v1?q= {searchTerms} & num = {count?} & start = {startIndex?} & lr = {language?} & safe = {safe?} & cx = {cx?} & cref = {cref?} & sort = {sort?} & filter = {filter?} & gl = {gl?} & cr = {cr?} & googlehost = {googleHost?} & c2coff = {disableCnTwTranslation?} & hq = {hq?} & hl = { hl?} & siteSearch = {siteSearch?} & siteSearchFilter = {siteSearchFilter?} & exactoTerms = {exactoTerms?} & excludeTerms = {excludeTerms?} & linkSite = {linkSite?} & orTerms = {orTerms?} & relatedSite = {relatedSite?} & dateRestrict = {dateRestrict = {dateRestrict = { } & lowRange = {lowRange?} & highRange = {highRange?} & searchType = {searchType} & fileType = {fileType?} & rights = {rights?} & imgSize = {imgSize?} & imgType = {imgType?} & imgColorType = {imgColorTD? {imgDominantColor?} & alt = json
estoy usando
La API de Yahoo Boss es un sustituto razonable, aunque no es gratis y los resultados no son tan buenos.
ACTUALIZACIÓN: YAHOO BOSS JSON Search API se suspenderá el 31 de marzo de 2016
La respuesta que encontré fue usar la API de Google Custom Search Engine (CSE). Tenga en cuenta que esto se limita a 100 solicitudes gratuitas por día.
Crear
cx
y modificarlo para buscar imágenes
- Cree un motor de búsqueda personalizado en https://cse.google.com/cse/create/new según sus criterios de búsqueda.
- Elija los sitios para buscar (déjelo en blanco si desea buscar en toda la web; de lo contrario, puede ingresar un sitio para buscar en un sitio en particular)
- Ingrese un nombre y un idioma para su motor de búsqueda.
-
Haga clic en "crear".
Ahora puede encontrar
cx
en la URL de su navegador. - En "Modificar su motor de búsqueda", haga clic en el botón "Panel de control". En la sección "editar" encontrará una etiqueta de "Búsqueda de imágenes" con un botón de ENCENDIDO / APAGADO, cámbielo a ENCENDIDO . Haga clic en "actualizar" para guardar sus cambios.
Realizar una búsqueda con la API
La URL del punto final de la API es
https://www.googleapis.com/customsearch/v1
Los siguientes parámetros JSON se utilizan para esta API:
-
q
: especifica el texto de búsqueda -
num
: especifica el número de resultados. Requiere un valor entero entre 1 y 10 (inclusive) -
start
: el "desplazamiento" de los resultados, cuyo resultado debe comenzar la búsqueda. Requiere un valor entero entre 1 y 101. -
imgSize
: el tamaño de la imagen. Yo usé"medium"
-
searchType
: debe establecerse en"image"
-
filetype
: especifica el tipo de archivo para la imagen. Utilicé "jpg", pero puedes omitirlo si la extensión de archivo no te importa. -
key
: una clave API, obtenida de https://console.developers.google.com/ -
cx
: el ID del motor de búsqueda personalizado de la sección anterior
Simplemente haga una solicitud
GET
pasando los parámetros anteriores como JSON al punto final de la API (también enumerado anteriormente).
Nota: Si configura una lista de referencias en la configuración del motor de búsqueda, visitar la URL a través de su navegador probablemente no funcionará. Deberá realizar una llamada AJAX (o el equivalente desde otro idioma) desde un servidor especificado en esta lista. Funcionará solo para los referentes especificados en la configuración.
Referencia: https://developers.google.com/custom-search/json-api/v1/reference/cse/list
SerpAPI permite buscar a través de Google Images y devuelve un json limpio. se integra con la mayoría de los lenguajes de programación: python, php, java, golang, nodejs ...
https://serpapi.com/images-results
Google limita el número de búsquedas por día. pero este servicio proporciona búsquedas ilimitadas ...
Si esto es solo para sus propios fines (no para producción) y no planea abusar de la Búsqueda de imágenes de Google, simplemente puede extraer la URL de la primera imagen de los resultados de búsqueda de Google utilizando JSOUP .
Por ejemplo: Código para recuperar la URL de la imagen de la primera miniatura:
public static String FindImage(String question, String ua) {
String finRes = "";
try {
String googleUrl = "https://www.google.com/search?tbm=isch&q=" + question.replace(",", "");
Document doc1 = Jsoup.connect(googleUrl).userAgent(ua).timeout(10 * 1000).get();
Element media = doc1.select("[data-src]").first();
String finUrl = media.attr("abs:data-src");
finRes= "<a href=/"http://images.google.com/search?tbm=isch&q=" + question + "/"><img src=/"" + finUrl.replace(""", "") + "/" border=1/></a>";
} catch (Exception e) {
System.out.println(e);
}
return finRes;
}
Guía:
pregunta - término de búsqueda de imagen
ua - agente de usuario del navegador
parece que necesitamos implementar la API de búsqueda personalizada de Google https://developers.google.com/custom-search/ dice en la parte superior de la página que usted mismo proporcionó