Cómo utilizar WebScrapingAPI para recopilar datos de Yelp

Robert Sfichi el 12 Ago 2021

blog-image

¿Se ha preguntado alguna vez cómo hacen las empresas para seguir la pista a la competencia? Por supuesto, los agentes dobles, los investigadores privados y los prismáticos pueden parecer divertidos, pero la vida real no es como las películas. El análisis real de la competencia es un proceso tedioso que es mejor dejar en manos del software. De este modo, podrá centrarse en ofrecer el máximo valor a sus clientes.

Hoy en día, sus competidores ya tienen a la vista toda la información que necesita. Con las redes sociales ganando mucha tracción 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í. Sólo hay que encontrar la manera de automatizar el proceso de recopilación de datos.

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

Por qué debe rastrear los 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 las redes sociales son sólo tres de las tácticas más valiosas que puede utilizar para mejorar su negocio.

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

Analizar las líneas de productos y categorías de sus competidores le ayuda a comprender mejor las tendencias que definen el mercado. Por ejemplo, si tienes un restaurante, puedes descubrir que un plato concreto, como la hamburguesa vegana, está de moda en tu ciudad, y hacer ajustes en tu menú para aumentar las ventas.

Las redes sociales no sólo sirven para estrechar el vínculo entre empresa y cliente. Si analizas la estrategia de tus competidores en las redes sociales, podrás averiguar qué funciona y qué no en un par de minutos. Puedes encontrar fácilmente respuestas a preguntas como "¿Cuántas veces publican a la semana?" o "¿Qué elementos visuales mantienen el engagement en un nivel alto?" con sólo hacer un scraping.

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

Yelp es una de las plataformas en línea más populares en la que los usuarios pueden compartir sus experiencias al tiempo que ayudan a otros a tomar decisiones informadas sobre los negocios locales. Si tienes un negocio o estás pensando en abrir uno, conocer información valiosa sobre la competencia puede mejorar tu tasa de éxito con creces. Datos sobre la ubicación exacta, los horarios de trabajo, los servicios de entrega o el tipo de negocio son sólo un par de los que puedes encontrar navegando por Yelp.

Lo que es aún mejor es que puedes disminuir el tiempo que dedicas a analizar a la competencia utilizando una herramienta de web scraping y centrarte más en construir 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 librerías como got y jsdom para crear el script que obtendrá todos los datos de una página de Yelp y les dará un formato agradable para que sean lo más comprensibles posible. Veamos cómo toda la información presentada anteriormente se puede convertir en resultados tangibles:

1. Encuentre los datos que necesita

Supongamos que estamos interesados en abrir un restaurante en Nueva York. Nos gustaría crear una lista de competidores que incluya información útil como:

  • Número de opiniones
  • Tipo de restaurante
  • Precios
  • Ubicación
blog-image

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

Puede hacer scraping junto con el artículo si comienza su 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. Sólo debes saber que a partir de aquí, el tutorial se centrará en cómo obtener los resultados utilizando WebScrapingAPI.

Después de crear una cuenta gratuita, acceda a la página API Playground pulsando el botón "Usar API Playground" en la página Dashboard. La página debería tener este aspecto:

blog-image

Tal y como sugiere su nombre, este es el lugar donde podemos probar la herramienta de scraping antes de crear nuestro script. Copiemos la URL presentada anteriormente en la entrada de URL (columna de la izquierda), desplacémonos un poco hacia abajo y pulsemos el botón "Enviar solicitud de API". Esta acción debería devolver un resultado parecido a éste:

blog-image

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

2. Puesta en marcha del proyecto

Crea la carpeta del proyecto, abre una ventana de terminal y navega hasta ella. Como hemos dicho antes, usaremos la librería 'got' para hacer las peticiones y 'jsdom' para nuestras necesidades de parseo. 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 usando tu IDE preferido. Si no tienes ninguno instalado, te recomendamos descargar Visual Studio Code, ya que se considera el IDE más popular actualmente.

3. Hacer una petición

Establezcamos los parámetros, hagamos la petición 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úrese de sustituir la cadena "YOUR_API_KEY" por la clave API que le ha proporcionado nuestro servicio. Puede encontrarla en la página del panel de control.

Al ejecutar el script, hacemos una petición 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 la registramos en pantalla mediante la función 'console.log'.

4. Inspección de la página

Volvamos a la página de Yelp y averigüemos cómo podemos seleccionar sólo la información que necesitamos. Haz clic con el botón derecho en el nombre del primer restaurante y haz clic en 'Inspeccionar'.

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

blog-image

Vamos a encontrar 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 "css-166la90". Para obtener los nombres de todos nuestros competidores, tenemos que seleccionar todos los elementos de la página que tengan esa clase. Haremos lo mismo con todos los detalles presentados anteriormente, como el número de reseñas, el tipo de restaurante, el precio y la ubicación.

5. Formatear la información

Ahora obtendremos toda la información que necesitamos de la respuesta resultante de la API. Obtendremos y formatearemos el nombre del restaurante, la puntuación de la crítica, 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 un array de objetos, y cada uno de ellos contendrá cada competidor de la página y sus datos específicos.

Como se puede ver, el raspado de datos de Yelp utilizando WebScrapingAPI es bastante fácil. Tenemos que utilizar una API de scraping 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.

Conozca a su competencia sin trabajo adicional

Intentar crear un nuevo negocio hoy en día 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 deben prestar atención los empresarios son:

  • crear una presencia en línea excepcional
  • trabajar para ofrecer el máximo valor al menor precio
  • conocer a fondo las ventajas de la competencia

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

Intentamos echar una mano creando las herramientas necesarias para este tipo de trabajos. Gracias por leer hasta el final y recuerda que WebScraping API tiene una prueba gratuita después de la cual los usuarios son degradados al plan gratuito para que puedas probar la API a tu gusto sin gastar un centavo.

Noticias y actualidad

Manténgase al día de las últimas guías y noticias sobre raspado web suscribiéndose a nuestro boletín.

We care about the protection of your data. Read our <l>Privacy Policy</l>.Privacy Policy.

Artículos relacionados

miniatura
GuíasSERP Scraping API - Guía de inicio

Recopile sin esfuerzo datos en tiempo real de los motores de búsqueda mediante la API SERP Scraping. Mejore el análisis de mercado, el SEO y la investigación temática con facilidad. ¡Empiece hoy mismo!

WebscrapingAPI
avatar de autor
WebscrapingAPI
7 min leer
miniatura
Casos prácticosUtilizando Web Scraping para Datos Alternativos en Finanzas: Guía completa para inversores

Explore el poder transformador del web scraping en el sector financiero. Desde datos de productos hasta análisis de opiniones, esta guía ofrece información sobre los distintos tipos de datos web disponibles para tomar decisiones de inversión.

Mihnea-Octavian Manolache
avatar de autor
Mihnea-Octavian Manolache
13 min leer
miniatura
Casos prácticosXPath frente a selectores CSS

¿Son los selectores XPath mejores que los selectores CSS para el web scraping? Conozca los puntos fuertes y las limitaciones de cada método y tome la decisión correcta para su proyecto.

Mihai Maxim
avatar de autor
Mihai Maxim
8 min leer