Comparativa de las mejores API para extraer datos de Zillow: Análisis de rendimiento
Comparamos los cinco mejores proveedores de web scraping en Zillow, uno de los principales dominios inmobiliarios , realizando más de 1250 solicitudes de extracción en todos ellos. Cada proveedor recibió un conjunto idéntico de URL de listados de propiedades y se evaluó en función del tiempo de finalización, la tasa de éxito y el número de campos de datos estructurados devueltos por listado.
Punto de referencia de extracción de datos de Zillow
También analizamos el tiempo de finalización específicamente para las tareas en las que todos los proveedores tuvieron éxito. Los resultados fueron prácticamente idénticos a los tiempos de finalización generales, lo que indica que las solicitudes fallidas no aumentaron significativamente el tiempo de finalización promedio para ningún proveedor.
Para obtener más detalles sobre el proceso de pruebas, puede consultar nuestra sección sobre metodología de evaluación comparativa .
¿Qué datos se pueden extraer de Zillow?
Dado que Apify fue el único proveedor que devolvió una salida JSON estructurada, fue el único con campos de metadatos medibles. Apify devolvió 185 campos de metadatos para Zillow. Los demás proveedores devolvieron HTML renderizado, que se analizó localmente mediante selectores CSS y, por lo tanto, no produjo recuentos de metadatos comparables.
Apify campos de metadatos disponibles para Zillow
Resultados de referencia de extracción de datos de Zillow
Oxylabs tuvo la tasa de éxito más baja en esta comparación, con un 89 %, y también registró el tiempo promedio de finalización más alto, alrededor de 59 segundos. Utilizó una fuente de extracción de datos específica de Zillow, pero esto no se tradujo en una ventaja de velocidad o confiabilidad en este conjunto de datos en particular.
Decodo registró una tasa de éxito del 97%, la segunda más alta después de Apify. Sin embargo, su tiempo de finalización fue notablemente mayor, alrededor de 51 segundos, lo que lo sitúa entre los proveedores más lentos. Logró este resultado utilizando una configuración de web scraping de propósito general, sin ninguna configuración específica para Zillow.
El proveedor Apify logró una tasa de éxito del 100 % en Zillow con un tiempo de finalización de aproximadamente 17 segundos. Fue el único proveedor que devolvió una salida JSON estructurada, lo que también lo convirtió en el único con campos de metadatos medibles, con un promedio de 185 puntos de datos por anuncio.
El proveedor Nimble fue el más rápido en la comparativa, completando las solicitudes en aproximadamente 12 segundos de media. Su tasa de éxito alcanzó el 92%, lo que lo situó en la mitad superior de la comparación. La combinación de velocidad y fiabilidad lo convirtió en uno de los resultados más equilibrados en este ámbito.
Zyte alcanzó una tasa de éxito del 92% con un tiempo de finalización de aproximadamente 46 segundos. Su tasa de éxito fue similar a la de Nimble, pero fue considerablemente más lenta. El resultado fue constante, pero no destacó en ninguna dirección.
Metodología de evaluación comparativa
Probamos cinco proveedores de web scraping (Apify, Decodo, Oxylabs, Nimble, Zyte) en zillow.com.
Conjunto de datos
Hemos preparado 250 URL de páginas de productos de Zillow. Las páginas de productos son listados individuales de propiedades con detalles como dirección, precio, número de habitaciones, baños, superficie y historial de la propiedad.
Se verificó que todas las URL fueran accesibles antes de la prueba de rendimiento. Las URL seguían el formato estándar de la página de detalles de Zillow (/homedetails/…/zpid/).
Configuración compartida
Todos los proveedores recibieron URL idénticas del mismo conjunto de datos y fueron probados bajo las mismas condiciones:
- Ejecución secuencial: una solicitud a la vez, sin solicitudes paralelas.
- Retraso entre solicitudes: 2 segundos
- Gestión del límite de velocidad: espera de 30 segundos con hasta 3 reintentos en HTTP 429.
- Tiempo de espera para el envío: 300 segundos
- Tiempo de espera de ejecución: 600 segundos
- Cada URL se probó una vez por proveedor.
Configuraciones del proveedor
Apify
Apify utilizó el actor maxcopell/zillow-detail-scraper, que devuelve JSON estructurado con campos analizados. No fue necesario analizar selectores CSS. Las ejecuciones del actor se consultaron a intervalos de 1 segundo hasta que el estado alcanzó SUCCEEDED.
Decodo
Decodo utilizó la API Universal Scraper (target: universal, headless: html), que devuelve HTML renderizado con JavaScript. La respuesta se analizó localmente con selectores CSS. Todas las solicitudes incluían un encabezado User-Agent de escritorio.
Oxylabs
Oxylabs utilizó la API en tiempo real con source: zillow y render: html, que devuelve HTML renderizado con JavaScript. La respuesta se analizó localmente con selectores CSS.
Nimbleway
Nimble utilizó la API Extract con render: true y driver: vx10 (navegador sin interfaz gráfica). La respuesta se analizó localmente con selectores CSS. No se aplicó ninguna configuración específica del dominio.
Zyte
Zyte utilizó la API Extract con browserHtml: true, que devuelve HTML renderizado con JavaScript a través de un navegador Chromium sin interfaz gráfica. La respuesta se analizó localmente con selectores CSS. No se aplicó ninguna configuración específica del dominio.
Validación
comprobación del estado HTTP
Antes de la validación, se comprueba primero el código de respuesta HTTP del proveedor. Las respuestas con códigos de estado entre 200 y 399 y 404 se consideran envíos exitosos y pasan a la fase de validación. Cualquier otro código de estado (400, 403, 500, 550, etc.) se considera un envío fallido y la prueba se marca inmediatamente como fallida sin entrar en la fase de validación.
Reglas de validación
Las pruebas que superan la comprobación de estado HTTP se validan en el siguiente orden:
- Detección de error 404 : Si el contenido de la página o el error de la API indican que la página ya no existe ("página no encontrada", "no existe", "página muerta"), la prueba se marca como válida. El proveedor identificó correctamente una página no disponible.
- Extracción de datos (API JSON) : Para los proveedores que devuelven JSON estructurado, debe haber al menos un campo de datos presente y no vacío, con un tipo válido según el campo (cadena o entero). Los campos que se verifican incluyen dirección, precio, número de habitaciones, número de baños y superficie en pies cuadrados.
- Extracción de datos (HTML) : Para los proveedores que devuelven HTML, la respuesta se analiza con selectores CSS específicos de Zillow. Si al menos un selector coincide y devuelve un valor no vacío, la prueba se supera.
- Indicador de página (solo HTML): Si no se extrajeron elementos de datos, pero al menos uno de los selectores CSS predefinidos para Zillow coincidió con un elemento de la página, la prueba se marca como válida. Esto confirma que la página se renderizó y cargó, incluso si no se encontraron elementos de datos estructurados en los contenedores esperados.
- Si no se cumple ninguna de las condiciones anteriores, la prueba falla. Las causas comunes de fallo incluyen páginas de captcha/desafío del bot, renderizado insuficiente de JavaScript, errores de conexión del proxy y errores del rastreador.
Métrica
Tasa de éxito de validación : Porcentaje de URL probadas en las que el proveedor devolvió datos utilizables, calculado como el número de pruebas exitosas dividido por el total de pruebas.
Tiempo de finalización : Tiempo total desde el envío de la solicitud de extracción de datos hasta la recepción de los resultados validados, medido en segundos. Para los proveedores asíncronos, el estado de finalización de la tarea se consultó a intervalos de 1 segundo. Se informa como la media aritmética de todas las ejecuciones de un grupo.
Metadatos disponibles : El número de nombres de campo únicos que devuelve el proveedor en todos los elementos de una respuesta. Solo aplicable a respuestas de API en formato JSON.
Preguntas frecuentes
Las API estructuradas devuelven datos validados, como precio, dirección, número de habitaciones y superficie, en formatos consistentes. Al usar proveedores basados en HTML, verifique los datos extraídos comparándolos con listados conocidos y compruebe si faltan campos debido a la renderización dinámica de páginas o a redirecciones antibot.
Sí, la mayoría de los proveedores de web scraping admiten tanto anuncios de alquiler como de venta en Zillow. La estructura de la URL difiere entre ambos, por lo que tu conjunto de datos debe incluir el tipo de anuncio correcto. Algunos proveedores utilizan configuraciones o identificadores de conjunto de datos distintos para alquileres y ventas.
Para las URL de productos (listados individuales), no se requiere paginación, ya que cada URL devuelve una sola propiedad. Para las URL de búsqueda que devuelven varios resultados, los proveedores gestionan la paginación de forma diferente. Algunas API estructuradas aceptan un parámetro de límite para controlar el número de resultados por solicitud, mientras que los proveedores basados en HTML solo devuelven los listados que aparecen en la primera página.
Zillow utiliza CAPTCHA, bloqueo de IP y renderizado dinámico de JavaScript para evitar el acceso automatizado. Los fallos más comunes incluyen respuestas vacías de solicitudes bloqueadas, datos incompletos de páginas que no se renderizaron por completo y listados obsoletos que devuelven un error 404. El uso de proveedores con API dedicadas a Zillow o el renderizado sin interfaz gráfica reduce estos problemas.
Los datos extraídos de Zillow permiten rastrear las tendencias de precios por vecindario, comparar los precios de venta con las estimaciones de Zillow, monitorear el tiempo que las propiedades permanecen en el mercado, analizar el precio por metro cuadrado en diferentes códigos postales e identificar propiedades infravaloradas. Las API estructuradas que devuelven campos como el historial de precios y las tasaciones fiscales proporcionan datos más completos para el análisis de inversiones.
Sé el primero en comentar
Tu dirección de correo electrónico no será publicada. Todos los campos son obligatorios.