En resumen: Expedia utiliza renderización JavaScript y protecciones contra bots, por lo que una simple llamada con la función `requests` no devolverá listados de hoteles. Esta guía explica cómo identificar selectores CSS con DevTools, crear un rastreador funcional mediante una API de rastreo, navegar por las páginas de resultados y exportar datos CSV limpios.
El scraping de Expedia consiste en la extracción automatizada de precios de hoteles, valoraciones, disponibilidad y datos de ubicación a partir de los resultados de búsqueda de Expedia, lo cual resulta útil para herramientas de seguimiento de precios, aplicaciones de comparación de viajes y análisis comparativo de la competencia. Si has probado con un cliente HTTP básico y has obtenido una página vacía, ya conoces el problema: Expedia carga sus listados de hoteles de forma dinámica, por lo que los datos no se encuentran en la respuesta HTML sin procesar.
Esta guía está dirigida a desarrolladores de Python e ingenieros de datos que buscan una solución funcional y fácil de mantener. Abordaremos por qué es difícil extraer datos de Expedia, cómo identificar selectores CSS utilizando las herramientas de desarrollo del navegador, cómo crear un scraper que gestione la renderización de JavaScript y la rotación de proxies, y cómo paginar a través de múltiples páginas de resultados, además de cómo limpiar los datos extraídos antes de escribirlos en CSV.




