Resumo: A Expedia utiliza renderização JavaScript e proteções anti-bot, pelo que uma simples chamada `requests` não irá devolver listas de hotéis. Este guia aborda a identificação de seletores CSS com o DevTools, a criação de um scraper funcional através de uma API de scraping, a paginação entre páginas de resultados e a exportação de dados CSV limpos.
O scraping da Expedia consiste na extração automatizada de preços, classificações, disponibilidade e dados de localização de hotéis a partir dos resultados de pesquisa da Expedia — útil para ferramentas de monitorização de preços, aplicações de comparação de viagens e benchmarking competitivo. Se já experimentou um cliente HTTP básico e obteve uma página vazia, já conhece o problema: a Expedia carrega as suas listas de hotéis dinamicamente, pelo que os dados não se encontram na resposta HTML bruta.
Este guia destina-se a programadores Python e engenheiros de dados que procuram uma solução funcional e sustentável. Abordaremos por que razão é difícil fazer scraping da Expedia, como identificar seletores CSS utilizando as DevTools do navegador, como criar um scraper que lide com a renderização JavaScript e a rotação de proxies, e como paginar através de várias páginas de resultados — além de como limpar os dados extraídos antes de os gravar em CSV.




