Antes de empezar a extraer reseñas de Google Maps, es importante disponer de las herramientas necesarias. El requisito principal es Node.js, un entorno de ejecución de JavaScript que permite ejecutar JavaScript en el lado del servidor, y que se puede descargar desde su página web oficial. Además, se requiere una clave API, que se puede obtener creando una cuenta aquí y activando el servicio SERP.
Tras configurar Node.js y obtener una clave API, el siguiente paso es crear un archivo de script de Node.js. Esto se puede hacer ejecutando el siguiente comando:
$ touch scraper.js
Y ahora pega la siguiente línea en tu archivo:
console.log("Hello World!")
Y ejecute el siguiente comando:
$ node scraper.js
Si ves el mensaje «Hello World!» en la terminal, significa que Node.js se ha instalado correctamente y que estás listo para pasar al paso final. Este último paso consiste en obtener el ID del lugar del que te interesa extraer reseñas. Aquí es donde nuestra API resulta muy útil, ya que es fácil de usar y no requiere la instalación de ninguna biblioteca adicional.
En primer lugar, en un archivo js debes importar el módulo integrado `https` de Node.js para poder enviar solicitudes a nuestra API. Esto se puede hacer de la siguiente manera:
const https = require("https");
En segundo lugar, debes especificar tu clave API, un término de búsqueda y las coordenadas del lugar que te interesa:
const API_KEY = "<YOUR-API-KEY-HERE>" // You can get by creating an account - https://app.webscrapingapi.com/register
const query = "Waldo%20Pizza"
const coords = "@38.99313451901278,-94.59368586441806"
Consejo: Así es como se obtienen las coordenadas de un lugar en Google Maps:
El siguiente paso es incluir el ID del lugar obtenido en un objeto de opciones, para que nuestra API sepa de qué ubicación quieres extraer las reseñas:
const options = {
"method": "GET",
"hostname": "serpapi.webscrapingapi.com",
"port": null,
"path": `/v1?engine=google_maps&api_key=${API_KEY}&type=search&q=${query}&ll=${coords}`,
"headers": {}
};
A continuación, debes configurar una llamada a nuestra API con toda esta información:
const req = https.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
const response = JSON.parse(body.toString());
const data_id = response.place_results.data_id;
if (data_id) {
console.log(data_id);
}
else {
console.log('We could not find a data_id property for your query. Please try using another query')
}
});
});
req.end();
Por último, puedes ejecutar el script que acabas de crear y esperar a que se devuelvan los resultados:
$ node scraper.js
Y deberías ver la propiedad data_id impresa en la pantalla:
$ 0x87c0ef253b04093f:0xafdfd6dc1d3a2b4es
Con esto concluye el proceso de configuración; con la propiedad data_id, ya tienes toda la información necesaria para crear un rastreador de reseñas de Google Maps utilizando nuestra API con Node.js.