Google Maps Autocomplete - sugerencias de búsqueda de Maps como filas estructuradas
Escribe las primeras letras de cualquier cosa en Google Maps y te propondrá diez complementaciones. Proceden de lo que la gente busca realmente en Maps, lo que las convierte en una lectura directa de cómo pide una categoría la clientela: las abreviaturas, los casi sinónimos, las expresiones locales que ninguna taxonomía interna contiene. Este servicio convierte ese desplegable en una tabla: una fila por sugerencia, cuatro columnas, exportadas como CSV, JSON o Excel, para tantas consultas iniciales como quieras enviar. La referencia publicada acepta el parámetro query como array y agrupa hasta mil consultas en una sola petición.
La exportación tiene dos propiedades que tiran en direcciones opuestas, y entender ambas es todo el trabajo. Su tamaño es perfectamente previsible: cada consulta inicial devuelve exactamente diez sugerencias -así fue en todos los bloques que medimos, sin bloques cortos ni largos-, de modo que las filas son consultas por diez, conocidas antes de gastar nada. Su contenido no es previsible en absoluto. Ejecutamos una consulta seis veces y recibimos seis listas distintas, con solo cuatro de sus diez sugerencias comunes a las dos primeras ejecuciones; otra consulta compartió apenas dos de diez entre ejecuciones. El autocompletado de Maps es una superficie viva, no una tabla de consulta, y una extracción es una anécdota más que una respuesta.
Esa inestabilidad es manejable en cuanto dejas de pelearte con ella. Muestrea cada consulta inicial varias veces y ordena las complementaciones por la frecuencia con la que se repiten: una expresión que aparece en todas las muestras es lenguaje de demanda genuinamente estable, y una que aparece una sola vez no merece que actúes sobre ella. La frecuencia entre ejecuciones es aquí la medición real, lo que además significa que el modelo de coste difiere del de la mayoría de los extractores: muestrear diez consultas cinco veces cada una aprovecha mejor el mismo gasto que extraer cincuenta consultas una vez. Dos de nuestras ejecuciones volvieron vacías, así que un trabajo programado debería reintentar en lugar de suponer que toda petición devuelve algo.
Dos detalles menores que conviene acertar. La columna position es una posición dentro del desplegable de una consulta, no un número de fila: va de 1 a 10 y se reinicia en la consulta siguiente, así que un archivo de cincuenta consultas contiene el número 1 cincuenta veces y agrupar por query tiene que preceder a cualquier ordenación. Y la columna coordinates es una entrada devuelta tal cual -el fragmento @lat,lng,zoom de una URL de Maps, idéntico en todas las filas de una ejecución-, no la ubicación del lugar sugerido. En nuestras cien filas solo contenía dos valores distintos, uno vacío y el otro exactamente el predeterminado que documenta la referencia, de modo que nuestros datos demuestran que la columna existe y repite lo que enviaste, y no demuestran nada sobre cómo una coordenada elegida deliberadamente cambia los resultados. Ten en cuenta además que una sugerencia es una expresión y no una ficha: aquí no hay id de lugar, dirección ni valoración. Recoge las expresiones y entrégaselas después al extractor de Maps. Empieza gratis: tus primeras 500 filas no cuestan nada y no requieren tarjeta.