Scraper la información comercial de Yelp
Actualizado hace más de una semana

Yelp es uno de los sitios web de directorios de empresas más grandes de Internet. Millones de personas buscan negocios potenciales o dejan una reseña en este sitio web todos los días. La información comercial y las reseñas están agregando información valiosa a la plataforma. En este tutorial, te mostraremos cómo recopilar información comercial en Yelp con Octoparse 8.1.

La forma más sencilla sería utilizar nuestras plantillas prediseñadas de Yelp. No es necesario configurar tareas de raspado, solo ingresa palabras clave / URL y obtendrás los datos. Para más detalles, puedes consultar aquí: Plantillas de Tarea

0.png

Si quieres saber cómo construir la tarea desde cero, puedes continuar leyendo el siguiente tutorial o ver este video a continuación.

Para demostrarlo, usaremos la siguiente URL como ejemplo.

Scrapearemos datos como el título, la calificación de estrellas, el número de reseñas y el sitio web con Octoparse.

Estos son los pasos principales de este tutorial: [Descargar archivo de tareas de demostración aquí]

1. Ir a la Página Web - abrir la web de destino

  • Ingresa la URL en la página de inicio y haz clic en "Iniciar"

1.png

2. Detectar automáticamente la página web - crear el flujo de trabajo

  • Haz clic en "Detectar automáticamente los datos de la página web" y espera a que se complete la detección.

2.1.gif
  • Elimina los campos no deseados o cambia el nombre de los campos si es necesario en la Vista Previa de Datos

2.2.png
  • Haz clic en "Editar" en "Paginar para scrapear más páginas".

  • Seleccione el botón de siguiente en la página web

  • Haz clic en "Confirmar"

    2.2.gif
  • Haz clic en "Crear flujo de trabajo".

2.2x2.png

3. Modificar la configuración de la Paginación

En la mayoría de los casos, el XPath predeterminado para la paginación funciona bien, pero Yelp es bastante estricto con el raspado de datos y tiene un código fuente muy difícil de leer, por lo que necesitamos revisar el XPath para la paginación.

  • Haz clic para abrir la configuración de acción de la Paginación

  • Ingresa el XPath: //a[contains(@class,'next-link')]

  • Haz clic en "Aceptar" para confirmar

3.1.gif

Nota

Si quieres obtener más información sobre XPath, consulta el siguiente tutorial:

  • Haz clic para abrir la configuración de acción de "Hacer clic para paginar"

  • Extiende el tiempo de espera de AJAX a 7-10 s

3.2.gif

Si todos los datos que necesitas se pueden extraer de la página de la lista, puede detenerte aquí y saltar a Iniciar extracción - ejecutar la tarea y obtener datos. Si quieres ir a cada página de detalles para obtener más información, sigue los pasos a continuación.

4. Hacer clic en cada página de detalles para obtener más información

  • Elige "Hacer clic en los enlaces para scrapear las páginas vinculadas" en el panel de Tips.

  • Selecciona "Hacer clic en un campo de datos extraídos" y selecciona el campo en el que quieres hacer clic en el menú desplegable (puedes confirmar si es el enlace correcto en la Vista previa de datos)

  • Haz clic en "Confirmar"

4.1.gif

5. Extraer datos - extraer datos en la página de detalles

  • Seleccionar información en la página web

  • Elige "Extraer texto del elemento seleccionado"

  • Repite los pasos anteriores para extraer todos los datos que necesitas

5.1.gif

Nota

  • Si no puedes seleccionar la dirección completa en la página, selecciona parte de ella en primer lugar y luego haz clic en la etiqueta "Dirección" en el panel de Tips.

5.2.png
  • Cambia el nombre de los campos si es necesario

5.3..png

Ahora necesitamos revisar el elemento XPath para cada campo de datos para scrapear la información con mayor precisión.

  • Haz doble clic en la acción "Extraer Datos1" en el flujo de trabajo

  • Haz clic en el icono

    mceclip0.png

    para modificar el XPath uno por uno

mceclip0x2.png
  • Reemplaza el XPath predeterminado por el revisado

4.2.png

¡No te preocupes! Hemos preparado para ti los XPaths de los campos frecuentes. Puedes usar el elemento XPath que se muestra a continuación.

  • Website: //p[text()='Business website']/following-sibling::p[1]

  • Phone: //p[text()='Phone number']/following-sibling::p[1]

  • Open hours: //table[contains(@class,'hours-table')]

  • Address: //address

  • Amenities: //h4[text()='Amenities and More']/../../following-sibling::div

  • About the business: //h4[text()='About the Business']/../../following-sibling::div

  • Price range: //span[contains(text(),'$')]

  • Category: //a[contains(@class,'link-color--inherit')]

  • Rating: (//div[contains(@aria-label,'star rating')])[1]

Nota

La información de calificación se almacena dentro del valor del atributo. Podemos hacer clic en el área de Calificación

mceclip1.png

, y elegir extraer el texto. Luego personaliza el campo para eliminar el valor del atributo "aria-label".

5.4.png

Para saber más sobre cómo tratar con "Extraer datos", consulta las siguientes tutoriales:

6. Configurar el tiempo de espera para reducir la velocidad de raspado

El sitio web de Yelp aplica una técnica anti-raspado y bloquearía tu IP si raspas demasiado rápido. Necesitamos ralentizar el raspado estableciendo el tiempo de espera.

  • Haz doble clic en la acción "Extraer Datos1".

  • Marca "Esperar antes de la acción"

  • Selecciona el tiempo de espera entre 7 y 10 segundos

6.1.gif

7. Ejecutar tu tarea - obtener los datos que quieres

6.png

Aquí tienes una muestra de datos.

mceclip3.png
¿Ha quedado contestada tu pregunta?