Volver al blog
Casos de uso
Robert SfichiLast updated on Mar 31, 20267 min read

Cómo utilizar WebScrapingAPI para recopilar datos de Yelp

Cómo utilizar WebScrapingAPI para recopilar datos de Yelp

¿Te has preguntado alguna vez cómo hacen las empresas para estar al tanto de la competencia? Por supuesto, los agentes dobles, los investigadores privados y los prismáticos pueden parecer divertidos, pero la vida real no es como en las películas. El análisis real de la competencia es un proceso tedioso que es mejor dejar en manos del software. De esta forma, podrás centrarte en ofrecer el máximo valor a tus clientes.

Hoy en día, tus competidores ya tienen toda la información que necesitas a la vista de todos. Con el auge de las redes sociales en las últimas dos décadas, las empresas intentan estar más presentes en la vida de sus clientes creando una presencia online. La información ya está ahí. Solo tenemos que encontrar una forma de automatizar el proceso de recopilación de datos.

En el siguiente artículo, crearemos un script que nos ayudará a recopilar toda la información que necesitamos sobre nuestros competidores empresariales aprovechando sus perfiles públicos de Yelp.

Por qué deberías recopilar datos de la competencia

Investigar los precios de los productos de la competencia, supervisar su línea de productos y categorías, o analizar su estrategia en redes sociales son solo tres de las tácticas más valiosas que puedes utilizar para mejorar tu negocio.

Encontrar y comparar los precios de los productos no es una tarea muy difícil, pero requiere mucho tiempo. El uso de una herramienta de web scraping puede ayudarte a obtener automáticamente información actualizada sobre la estrategia de precios y las ofertas flash de tus competidores.

Extraer las líneas de productos y categorías de tus competidores te ayuda a comprender mejor las tendencias que definen el mercado. Por ejemplo, si tienes un restaurante, puedes descubrir que un plato específico, como la hamburguesa vegana, está de moda en tu ciudad, por lo que puedes hacer ajustes en tu menú para impulsar más ventas.

Las redes sociales no solo sirven para fortalecer el vínculo entre la empresa y el cliente. Al analizar la estrategia de redes sociales de tus competidores, puedes descubrir qué funciona y qué no en solo un par de minutos. Puedes encontrar fácilmente respuestas a preguntas como «¿Cuántas veces publican a la semana?» o «¿Qué imágenes mantienen el nivel de interacción alto?» simplemente mediante el scraping.

Por qué Yelp es el lugar perfecto para recopilar datos de la competencia

Yelp es una de las plataformas online más populares donde los usuarios pueden compartir sus experiencias y ayudar a otros a tomar decisiones informadas sobre negocios locales. Si tienes un negocio o estás pensando en abrir uno, obtener información valiosa sobre la competencia puede mejorar tu tasa de éxito de forma significativa. Datos sobre la ubicación exacta, el horario de apertura, los servicios de entrega o el tipo de negocio son solo algunos de los que puedes encontrar navegando por Yelp.

Lo mejor de todo es que puedes reducir el tiempo que dedicas a analizar a la competencia utilizando una herramienta de web scraping y centrarte más en desarrollar un negocio mejor. Esta estrategia dará sus frutos a largo plazo, ya que automatizar el proceso de recopilación de datos puede convertirse en una de las tareas más tediosas y que más tiempo consumen.

Cómo utilizar WebScrapingAPI para extraer datos de Yelp

En la siguiente sección, utilizaremos Node.js y un par de bibliotecas como got y jsdom para crear el script que obtendrá todos los datos de una página de Yelp y los formateará de forma clara para que sean lo más comprensibles posible. Veamos cómo toda la información presentada anteriormente se puede convertir en resultados tangibles:

1. Encuentra los datos que necesitas

Supongamos que estamos interesados en abrir un restaurante en la ciudad de Nueva York. Querríamos crear una lista de competidores que incluya información útil como:

  • Número de reseñas
  • Tipo de restaurante
  • Precios
  • Ubicación

La URL que vamos a rastrear es la siguiente: https://www.yelp.ie/search?find_desc=restaurant&find_loc=New+York%2C+NY%2C+United+States&ns=1.

Puedes realizar el scraping junto con el artículo si inicias tu prueba gratuita con 5000 solicitudes y acceso a todas las funcionalidades para probar nuestro producto. Puedes utilizar cualquier herramienta de scraping con la que te sientas más cómodo. Ten en cuenta que, a partir de aquí, el tutorial se centrará en cómo obtener los resultados utilizando WebScrapingAPI.

Una vez creada con éxito una cuenta gratuita, accede a la página API Playground pulsando el botón «Use API Playground» en la página del panel de control. La página debería tener este aspecto:

Tal y como sugiere el nombre, este es el lugar donde podemos probar la herramienta de scraping antes de crear nuestro script. Copiemos la URL que aparece arriba en el campo de entrada de URL (columna de la izquierda), bajemos un poco y pulsemos el botón «Send API Request». Esta acción debería devolver un resultado similar a este:

Ahora vamos a crear el script que va a hacer la mayor parte del trabajo por nosotros.

2. Configuración del proyecto

Crea la carpeta del proyecto, abre una ventana de terminal y navega hasta ella. Tal y como hemos dicho antes, utilizaremos la biblioteca «got» para realizar las solicitudes y «jsdom» para nuestras necesidades de análisis. Una vez que hayas accedido a la carpeta del proyecto, ejecuta los siguientes comandos en la terminal:

npm init -y
npm install got jsdom

El proyecto debería incluir ahora los archivos «package.json». Crea un nuevo archivo llamado «index.js» y ábrelo con tu IDE preferido. Si no tienes ninguno instalado, te recomendamos descargar Visual Studio Code, ya que se considera el IDE más popular en este momento.

3. Realizar una solicitud

Configuremos los parámetros, realicemos la solicitud y analicemos el HTML. Escribe las siguientes líneas en el archivo «index.js» recién creado:

const {JSDOM} = require("jsdom")

const got = require("got")

(async () => {
const params = {
    api_key: "YOUR_API_KEY,”
    url:"https://www.yelp.ie/search?find_desc=restaurant&find_loc=New+York%2C+NY%2C+United+States&ns=1"
}

const response = await got('https://api.webscrapingapi.com/v1', {searchParams: params})


const {document} = new JSDOM(response.body).window

const competitors = document.querySelectorAll('.container__09f24__sxa9-')

console.log(competitors)

})()

Asegúrate de sustituir la cadena «YOUR_API_KEY» por la clave API que te ha proporcionado nuestro servicio. La encontrarás en la página del panel de control.

Al ejecutar el script, enviamos una solicitud al servicio WebScrapingAPI para obtener el HTML de la página de Yelp. A continuación, recopilamos todos los elementos de la página que contienen información sobre nuestros competidores y los registramos en la pantalla utilizando la función «console.log».

4. Inspeccionar la página

Volvamos a la página de Yelp y veamos cómo podemos seleccionar solo la información que necesitamos. Haz clic con el botón derecho del ratón sobre el nombre del primer restaurante y selecciona «Inspeccionar».

Aparecerá una nueva ventana con el código fuente HTML:

Busquemos toda la información que necesitamos buscando los elementos HTML que la contienen. En la imagen anterior, podemos ver fácilmente que el elemento que contiene el nombre del restaurante tiene una clase CSS de «css-166la90». Para obtener todos los nombres de nuestros competidores, tenemos que seleccionar todos los elementos de la página con esa clase. Haremos lo mismo con todos los datos presentados anteriormente, como el número de reseñas, el tipo de restaurante, los precios y la ubicación.

5. Dar formato a la información

Ahora obtendremos toda la información que necesitamos de la respuesta de la API resultante. Recogeremos y daremos formato al nombre del restaurante, la puntuación de las reseñas, el tipo de restaurante, el rango de precios y la ubicación. Añade las siguientes líneas de código al archivo «index.js».

competitors.forEach((competitor) => {
    if (competitor) {
        const name = competitor.querySelector('.css-166la90')
        if (name) competitor.name = name.innerHTML

        const reviewScore = competitor.querySelector('.reviewCount__09f24__EUXPN')
        if (reviewScore) competitor.review_score = `${reviewScore.innerHTML}/100`

        const types = competitor.querySelectorAll('.css-1hx6l2b')
        if (types) {
            competitor.types = []
            for (type of types) competitor.types.push(type.innerText)
       }

       const priceRange = competitor.querySelector('.priceRange__09f24__2O6le')
       if (priceRange) competitor.price_range = priceRange.innerHTML

       const locationContainer = competitor.querySelector('.priceCategory__09f24__Ylk7h')
       if (locationContainer) {
	     let location = locationContainer.querySelector('.css-e81eai')
	     competitor.location = location
       }

       results.push(competitor)
    }
})

console.log(results)

Al final, tendremos una matriz de objetos, y cada uno de ellos contendrá todos los competidores de la página y sus datos específicos.

Como puedes ver, extraer datos de Yelp utilizando WebScrapingAPI es bastante fácil. Tenemos que utilizar una API de extracción para obtener el contenido HTML, analizar la respuesta, obtener la información relevante de cada elemento de la página y añadirlo todo a una lista.

Conocer a tu competencia sin ningún esfuerzo adicional

Hoy en día, intentar crear un nuevo negocio requiere mucho más que tener un gran producto. Existen infinitas oportunidades dependiendo de lo creativo que seas. Algunas de las estrategias más valiosas a las que los empresarios deben prestar atención son:

  • crear una presencia online destacada
  • esforzarse por ofrecer el máximo valor al precio más bajo
  • tener un conocimiento completo de las ventajas de la competencia

Todas estas estrategias pueden resultar vitales para tu negocio. Es reconfortante saber que los rastreadores web ofrecen una gran ayuda a la hora de abordar estos problemas. Añadir automatización al proceso de recopilación de datos puede ser el paso más sencillo para mejorar tu negocio.

Intentamos echar una mano creando las herramientas necesarias para este tipo de tareas. Gracias por leer hasta el final y recuerda que WebScraping API ofrece una prueba gratuita, tras la cual los usuarios pasan al plan gratuito, por lo que puedes probar la API todo lo que quieras sin gastar ni un céntimo.

Acerca del autor
Robert Sfichi, Desarrollador full-stack @ WebScrapingAPI
Robert SfichiDesarrollador full-stack

Robert Sfichi forma parte del equipo de WebScrapingAPI, donde contribuye al desarrollo del producto y ayuda a crear soluciones fiables que dan soporte a la plataforma y a sus usuarios.

Empieza a crear

¿Estás listo para ampliar tu recopilación de datos?

Únete a más de 2000 empresas que utilizan WebScrapingAPI para extraer datos de la web a escala empresarial sin ningún gasto de infraestructura.