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:
https://www.realtor.com/realestateandhomes-search/Tallassee_AL
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í ]
- "Ir a la Página Web" - abrIR la página web de destino
- Crear un bucle de paginación - extraer todos los resultados de varias páginas
- Crear un "Elemento de bucle" - para extraer en bucle las URL de todos los listados
- Refinar el campo de datos de la URL
- Iniciar extracción - ejecutar la tarea y obtener datos
Tarea 2: Recopilar información del producto de URLs extraídas [Descargar el archivo de la tarea de demostración aquí ]
- Ingresa un lote de las URL raspadas - abrir las páginas de detalles
- Extraer datos - selecciona los datos para la extracción
- Refina los campos de datos
- Iniciar extracción - ejecutar la tarea y obtener datos
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".
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.
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
- 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
- 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
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".
Podemos ver que algunos elementos no están seleccionados, por lo que debemos modificar el Elemento de Bucle.
- Haz clic en
del "Elemento del Bucle"
- 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
- 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"
- Haz clic en "Agregar paso" y luego elige "Agregar un sufijo".
- Ingresa "? View = qv" en el cuadro de texto y luego presiona "Evaluar" para obtener el resultado.
- Haz clic en "Confirmar" para guardarlo.
- Haz clic en el nombre del campo para modificarlo si es necesario
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)
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.
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
- Elige "Importar de la tarea" para obtener las URLs de la Tarea 1
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.
- Haz clic en
para cambiar el nombre de los campos
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
para modificar el XPath
- Ingresa el XPath revisado en el cuadro de texto y haz clic en "Aceptar" para guardar
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
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)
Aquí tienes una muestra de datos.
Si tienes alguna duda en configurar tu tarea, no dudes en enviar un ticket a nuestro equipo de Soporte.
Comentarios
0 comentarios
Inicie sesión para dejar un comentario.