Todas las colecciones
Tutorial de Casos
Criptomoneda
Scrapear datos de propiedades de Realtor.com
Scrapear datos de propiedades de Realtor.com
Actualizado hace más de una semana

En este tutorial, te mostraremos cómo extraer datos de propiedades de Realtor.com.

Recogeremos los datos de la página de detalles de la casa y rasparemos el título, la ubicación, el precio y la calificación, etc. con Octoparse. Para continuar, necesitamos utilizar la URL en el tutorial:

Usaremos 2 tareas para obtener datos en las páginas de detalles.

Estos son los pasos principales de este tutorial:

Tarea 1: Extraer todas las URL de las páginas de detalles en las páginas de resultados de búsqueda [Descargar el archivo de la tarea de demostración aquí]

Tarea 2: Recopilar información del producto de URLs extraídas [Descargar el archivo de la tarea de demostración aquí]

Tarea 1: Extraer las URLs de la página de detalles en las páginas de resultados de búsqueda

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

  • Introducir la URL de ejemplo y haz clic en "Iniciar".

mceclip0.png

2. Crear una Paginación - extraer todos los resultados de varias páginas

  • Desplázate hacia abajo y haz clic en el botón ">" en la página web

  • Haz clic en "Hacer clic en bucle en una sola URL" en el panel de Tips.

mceclip1.png

Octoparse aplica automáticamente el tiempo AJAX como 3 segundos para la acción de hacer clic. Puedes modificarlo en función de tu condición de Internet local (haz clic para saber más sobre AJAX:Tratar AJAX).

  • Configura el "tiempo de espera de AJAX" como "5" segundos

mceclip2.png
  • Haz doble clic en el paso "Paginación" en el flujo de trabajo.

    • Copia y pega el XPath revisado para el botón de la página siguiente://li[contains(@class,'pagination-next')]/a

mceclip5.png
  • Marca la sección "Antes de realizar la acción"

  • Marca "Esperar antes de la acción" y configura 2 segundos de tiempo de espera.

  • Haz clic en "Aceptar" para guardar

    mceclip6.png

3. Crear un "Elemento de Bucle" - para extraer en bucle las URL de todos los listados

  • Haz clic en la dirección del primer elemento de la lista

  • Haz clic en la etiqueta A en la parte inferior del panel de Tips.(La etiqueta A define un hipervínculo, que se utiliza para vincular de una página a otra.)

  • Haz clic en "Seleccionar todo" en el panel de Tips.

  • Selecciona "Extraer la URL del enlace".

3.gif

Podemos ver que algunos elementos no están seleccionados, por lo que debemos modificar el Elemento de Bucle.

  • Haz clic en

    mceclip0x2.png

    del "Elemento del Bucle"

    mceclip3.png
  • Cambia el modo de bucle de "Lista fija" a "Lista de variables"

  • Ingresa XPath //ul[@data-testid='property-list-container']/li en el cuadro de texto

    mceclip4.png
  • Haz clic en "Aceptar" para guardar

4. Refina el campo de datos de la URL

La URL raspada a veces abre una página con un diseño de página diferente. Para evitar esto, necesitamos refinar el campo de URL.

  • Haz doble clic en "Extraer datos" en el flujo de trabajo

  • Elige el campo de la URL del título y haz clic en "..." para elegir "Limpiar datos"

    mceclip2x2.png
  • Haz clic en "Agregar paso" y luego elige "Agregar un sufijo".

  • mceclip3x2.png
  • Ingresa "? View = qv" en el cuadro de texto y luego presiona "Evaluar" para obtener el resultado.

  • Haz clic en "Confirmar" para guardarlo.

    mceclip4x2.png
  • Haz clic en el nombre del campo para modificarlo si es necesario

5.png

5. Iniciar extracción - ejecutar la tarea y obtener datos

  • Haz clic en Guardar"

  • Haz clic en "Ejecutar" en la parte superior izquierda

  • Selecciona "Ejecutar en el dispositivo" para ejecutar la tarea en tu computadora, o selecciona "Ejecutar en la nube" para ejecutar la tarea en la nube (solo para usuarios premium)

mceclip5x2.png

Si eres un usuario del plan premium o de la prueba de 14 días del plan premium, te sugiero que uses "Ejecutar tarea en la nube" para que puedas usar la función de tareas asociativas (consulta esta guía ¿Qué es la tarea principal y la tarea secundaria en Octoparse? para obtener más detalles) .

Aquí tienes una muestra de datos.

mceclip4x2x3.png

Tarea 2: Recopilar los datos de propiedad de las URLs extraídas

1. Ingresa un lote de las URLs raspadas - abrir las páginas de detalles

En la Tarea 1, ya tenemos una lista de URLs.

  • Haz clic en "+ Nuevo" para iniciar una tarea utilizando el Modo Avanzado para crear la Tarea 2

    mceclip0x2x3.png
  • Elige "Importar de la tarea" para obtener las URLs de la Tarea 1

    mceclip8.png

Tips!

Hay 4 formas de ingresar URL. En este tutorial, usamos "Importar desde tarea" como demostración. Ten en cuenta que este solo funciona cuando la tarea principal se ejecuta en la nube. Si importamos desde un resultado de datos de ejecución local, solo se importarán 100 líneas de datos. Para saber más sobre la importación de URL, consulta esta guía: Ingresar URLs por lotes.

Después de hacer clic en el botón "Guardar", verás que se genera un elemento de bucle denominado "Recorrer las URLs" en el flujo de trabajo.

2. Extraer datos - seleccionar los datos para la extracción

  • Haz clic en los elementos que quieres scrapear

  • Elige "Extraer texto/URL/URL de imagen del elemento seleccionado" en el panel de Tips.

extract_data.gif
  • Haz clic en

    mceclip2x2x3.png

    para cambiar el nombre de los campos

mceclip9.png

3. Refina los campos de datos

Para evitar que los datos se extraigan en una columna incorrecta, necesitaremos Personalizar elemento XPath.

  • Haz doble clic en el paso "Extraer datos" en el flujo de trabajo para revisar la XPath de algunos campos de datos.

  • Haz clic en el icono

    mceclip3x2x3.png

    para modificar el XPath

  • Ingresa el XPath revisado en el cuadro de texto y haz clic en "Aceptar" para guardar

3.png

Aquí tienes algunos XPaths revisados ​​para algunos campos comunes de datos

  • Presented_by: //div[contains(text(),'Presented')]/following-sibling::span[2]

  • Brokered_by: //li[contains(text(),'Brokered')]/following-sibling::li[1]

  • Price: //span[contains(@class,'price')]

  • Facilities: //ul[contains(@class,'property')]

  • Address: //h1[contains(@class,'address')]

  • Property_type: //span[contains(text(),'Property')]/following-sibling::span[1]

  • Last_sold: //span[contains(text(),'Last Sold')]/following-sibling::span[1]

  • Days_on_realtor: //span[contains(text(),'Days on')]/following-sibling::span[1]

  • Parcel_number: //li[contains(text(),'Parcel')]

  • Source Listing Status: //li[contains(text(),'Source Listing Status')]

Si necesita datos como latitud y longitud, debes extraer la URL de la imagen de los mapas y luego limpiar los datos para encontrar información de coordenadas.

  • Haz clic en la imagen del mapa para extraer la URL de la imagen seleccionada

  • Repite el paso anterior

  • Ve a "Extraer datos" y busca la opción "Limpiar datos"

  • Haz clic en "Agregar paso" y elige "Coincidir con expresión regular"

  • Utiliza "centro =" como valor inicial y "% 2C" como valor final para igualar la latitud.

  • Utiliza "% 2C" como valor inicial y "& canal" como valor final para hacer coincidir la longitud

coordinates.gif

4. Iniciar extracción - ejecutar la tarea y obtener datos

  • Haz clic en "Guardar"

  • Haz clic en "Ejecutar" en la parte superior izquierda

  • Selecciona "Run task on your device" para ejecutar la tarea en tu computadora, o selecciona "Run task in the cloud" para ejecutar la tarea en la nube (solo para usuarios del plan premium)

mceclip12.png

Aquí tienes una muestra de datos.

mceclip13.png
¿Ha quedado contestada tu pregunta?