In this Article
Aprender a extrair listagens de hotéis é, acima de tudo, uma lição sobre como lidar com escala e geografia. Agências de viagens online (OTAs) como a Booking e sites do nível da Expedia mostram tarifas diferentes conforme o país, a moeda, o dispositivo e a sessão do visitante, de modo que um scraper ingênuo retorna números inconsistentes ou simplesmente errados.
Este artigo cobre a mecânica prática: quais casos de uso justificam o esforço, por que proxies com geolocalização e sessões sticky importam, como ler endpoints JSON em vez de HTML frágil, e como os parâmetros de intervalo de datas e ocupação disparam o seu número de solicitações e a sua largura de banda. Dois exemplos curtos em Python mostram os padrões de solicitação e de análise.
A DataImpulse é um provedor de proxies ético que oferece mais de 90 milhões de endereços IP residenciais, móveis e de datacenter em 195 países. Utiliza um modelo de pagamento conforme o uso a partir de 1 dólar por GB com tráfego que não expira, e é usado para web scraping, verificação de anúncios, monitoramento de preços, pesquisa de mercado e gestão de múltiplas contas.
Fatos principais
- A geografia importa: os preços e a disponibilidade dos hotéis mudam conforme o país e a moeda, então extrair listagens de hotéis com precisão exige proxies residenciais com targeting por país que correspondam a cada mercado de preços.
- Melhor tipo de proxy: proxies residenciais rotativos, que usam IPs de consumidores reais que passam pela detecção.
- Preço: a partir de 1 dólar por GB, pagamento conforme o uso, com tráfego que não expira e sem assinatura.
- Cobertura: mais de 90M de IPs de origem ética em 195 países.
- Confiabilidade: taxa de sucesso de 99.51%, avaliada com 4.8 de 5 no G2.
- Protocolos e targeting: HTTP, HTTPS e SOCKS5, com targeting por país incluído.

Por que extrair listagens de hotéis?
Os dados de listagens de hotéis alimentam a inteligência de preços, a pesquisa de mercado e o monitoramento da paridade de tarifas em todo o setor de viagens. As equipes os coletam para responder a perguntas que relatórios estáticos não conseguem.
- Monitoramento de paridade de tarifas: hotéis e redes verificam se as OTAs estão respeitando as tarifas acordadas ou minando o canal de reserva direta.
- Preços da concorrência: os revenue managers acompanham como as propriedades próximas precificam as mesmas datas e tipos de quarto, e então ajustam as próprias tarifas.
- Pesquisa de mercado: os analistas estudam os sinais de ocupação, a sazonalidade, as tendências de comodidades e a nova oferta que entra em um destino.
Em todos os casos, o valor depende de coletar os preços exatamente como um viajante real em um mercado específico os veria, e é aí que as decisões de infraestrutura começam a importar.
Por que o geo-targeting muda os preços dos hotéis?
As OTAs aplicam preços dinâmicos, então a tarifa do mesmo quarto e data pode variar conforme o país, a moeda e até o dispositivo ou a sessão do visitante. Uma solicitação da Alemanha pode mostrar preços em euros e promoções específicas da região que uma solicitação dos Estados Unidos nunca vê.
Para capturar dados precisos você precisa de uma IP localizada no mercado que está estudando. O targeting por país permite que você se apresente como um visitante local para cada conjunto de moeda e promoções. Os proxies residenciais são a escolha habitual aqui porque seus endereços pertencem a conexões de consumidores reais, então as OTAs os tratam como viajantes comuns em vez de tráfego automatizado. Os proxies de datacenter são mais rápidos e baratos, mas é mais fácil para sistemas anti-bot fortes sinalizá-los, então convém reservá-los para alvos de baixa sensibilidade ou uma primeira passagem, e não para páginas de OTA protegidas.
Como as sessões sticky ajudam em fluxos de várias páginas?
As sessões sticky mantêm o mesmo endereço IP para uma sequência de solicitações, o que importa porque fluxos do tipo reserva carregam estado entre páginas. Uma página de resultados de busca, uma página de detalhe do quarto e uma etapa de confirmação de tarifa costumam compartilhar cookies e tokens de sessão do lado do servidor vinculados à IP de origem.
Se a sua IP rotacionar no meio do fluxo, o site pode reiniciar a sessão, mostrar uma moeda diferente ou disparar um desafio. Atribua uma sessão sticky por busca lógica (uma propriedade mais um intervalo de datas e uma ocupação), complete as páginas de que precisa e depois a libere. Use sessões rotativas para a coleta ampla de uma única página, como extrair um card de listagem por solicitação, e reserve as sessões sticky para os caminhos de várias etapas, tipo checkout. A DataImpulse oferece sessões tanto rotativas quanto sticky no mesmo pool.
Você deve extrair HTML ou endpoints JSON?
Prefira os endpoints JSON subjacentes quando existirem. A maioria das OTAs modernas carrega os preços por meio de chamadas XHR ou fetch em segundo plano que retornam JSON limpo, enquanto o HTML visível é renderizado depois com JavaScript e muda de layout com frequência.
Abra as ferramentas de desenvolvedor do seu navegador, observe a aba Network enquanto pesquisa e procure as solicitações XHR que retornam dados de disponibilidade e tarifas. Reproduzir esses endpoints diretamente é mais rápido, consome menos largura de banda e é muito menos frágil do que analisar cards de listagem a partir do HTML. Quando só há HTML disponível, mire em atributos estáveis em vez de nomes de classe cosméticos. Seja qual for o caminho que escolher, as técnicas defensivas gerais deste guia sobre scraping sem ser bloqueado continuam valendo, e se você foca em uma única OTA, nosso passo a passo sobre como extrair dados da Booking.com aprofunda em um site específico.
Como você planeja as solicitações e a largura de banda?
Estime o seu número de solicitações antes de começar, porque os parâmetros de intervalo de datas e ocupação se multiplicam rapidamente. Cada propriedade, data de check-in, duração da estadia e configuração de hóspedes é uma consulta separada, então uma grade de busca modesta pode chegar a centenas de milhares de solicitações.
Por exemplo, 500 hotéis por 90 datas de check-in por 3 durações de estadia por 2 opções de ocupação dá 270,000 solicitações em uma única passagem. Como os planos de proxy medem o tráfego por gigabyte, mantenha cada resposta pequena: acesse endpoints JSON em vez de páginas HTML completas, solicite apenas os campos de que precisa e evite baixar imagens ou tiles de mapa. O trecho de Python abaixo mostra como uma grade de datas é construída para que você possa dimensionar o trabalho antes de executá-lo.
import requests
from datetime import date, timedelta
proxies = {
"http": "http://USER:[email protected]:823",
"https": "http://USER:[email protected]:823",
}
start = date(2026, 8, 1)
dates = [start + timedelta(days=i) for i in range(90)]
stays = [1, 3, 7]
for check_in in dates:
for nights in stays:
params = {
"hotel_id": 123456,
"checkin": check_in.isoformat(),
"checkout": (check_in + timedelta(days=nights)).isoformat(),
"adults": 2,
"currency": "EUR",
}
r = requests.get(
"https://example-ota.com/api/availability",
params=params,
proxies=proxies,
timeout=20,
)
# store r.json() keyed by hotel_id, checkin, nights
Como você analisa os cards de listagem de hotéis?
Quando você precisar ler HTML, analise cada card de listagem localizando um contêiner estável e extraindo o nome, o preço e a avaliação de dentro dele. Trabalhe card por card para que uma mudança em um campo não quebre toda a execução.
O exemplo abaixo usa BeautifulSoup para percorrer os cards de resultados. Adapte os seletores ao seu alvo e proteja-se sempre contra campos ausentes, já que quartos esgotados e layouts promocionais muitas vezes omitem um preço ou uma avaliação.
from bs4 import BeautifulSoup
soup = BeautifulSoup(html, "html.parser")
listings = []
for card in soup.select("div[data-testid='property-card']"):
name = card.select_one("h3")
price = card.select_one("span[data-testid='price']")
rating = card.select_one("div[data-testid='rating']")
listings.append({
"name": name.get_text(strip=True) if name else None,
"price": price.get_text(strip=True) if price else None,
"rating": rating.get_text(strip=True) if rating else None,
})
print(len(listings), "cards parsed")
Como você lida com as defesas anti-bot das OTAs?
Parta do princípio de que a proteção anti-bot das OTAs é forte e projete em torno dela em vez de enfrentá-la de frente. Os grandes sites de viagens usam fingerprinting, limitação de taxa, verificações comportamentais e pontuação de reputação de IP, então o scraping agressivo a partir de um conjunto reduzido de endereços é detectado rapidamente.
- Distribua as solicitações por um grande pool residencial para que nenhuma IP mostre uma taxa de solicitações antinatural.
- Regule o ritmo para uma velocidade semelhante à humana e adicione jitter entre as solicitações em vez de um intervalo fixo.
- Faça a moeda, o idioma e os cabeçalhos Accept corresponderem ao país da IP de saída.
- Considere os proxies móveis para as páginas mais defendidas, já que os endereços com NAT de nível de operadora são compartilhados por muitos usuários reais e são mais difíceis de bloquear por completo.
A DataImpulse obtém suas IPs de forma ética a partir de usuários que dão consentimento e são compensados, o que mantém o pool alinhado às expectativas do GDPR ao mesmo tempo que oferece a você a cobertura geográfica de que uma coleta confiável de dados de hotéis precisa.
Tipos de proxy para sites de viagens
| Tipo de proxy | Ideal para | Nota |
|---|---|---|
| Residencial rotativo | Scraping amplo de preços | Nova IP a cada solicitação |
| Residencial sticky | Fluxos de reserva de várias etapas | Mantém a sessão estável |
| Móvel | Sites difíceis de acessar | Máxima confiança, mais caro |
| Datacenter | Consultas em massa rápidas | Mais propenso a ser bloqueado |

Perguntas frequentes
É legal extrair listagens de hotéis?
Extrair dados de listagens disponíveis publicamente costuma ser permitido em muitas jurisdições, mas os termos de serviço do site, a lei local e as regras sobre dados pessoais ou protegidos por direitos autorais continuam valendo. Revise os termos do alvo e consulte assessoria jurídica antes de coletar em grande escala.
Qual tipo de proxy é melhor para extrair preços de hotéis?
Os proxies residenciais com targeting por país são a escolha habitual porque os preços das OTAs variam por mercado e as IPs residenciais se apresentam como viajantes locais reais. Os proxies móveis ajudam nas páginas mais defendidas, e os proxies de datacenter servem para coleta de baixa sensibilidade ou de primeira passagem.
Por que eu obtenho preços diferentes dos que o site mostra?
Os preços dos hotéis dependem do país, da moeda, da sessão e às vezes do dispositivo do visitante, então uma IP ou moeda que não corresponde ao mercado que você estuda retorna números diferentes. Faça o país da IP de saída e a moeda corresponderem ao mercado-alvo.
Quanta largura de banda o scraping de hotéis consome?
Depende do volume de solicitações, que cresce rápido com as grades de datas e ocupação. Acessar endpoints JSON e solicitar apenas os campos necessários mantém cada resposta pequena, então estime o tamanho da sua grade e o peso por resposta antes de iniciar uma execução grande.
Devo extrair a página HTML ou o endpoint da API?
Prefira os endpoints JSON que as OTAs chamam em segundo plano, já que são mais leves, rápidos e estáveis do que o HTML renderizado com JavaScript. Recorra a analisar cards de listagem apenas quando nenhum endpoint adequado estiver exposto.
Quando a DataImpulse não é a opção certa?
Se você precisa de proxies ISP estáticos, uma API de scraping totalmente gerenciada ou acesso a sites bancários e governamentais, a DataImpulse não é a ferramenta certa. Ela foca em proxies residenciais rotativos, móveis e de datacenter para coletar dados públicos e acessar conteúdo.
Comece a coletar dados de hotéis precisos
Se você precisa de tarifas precisas por país de OTAs e sites de hotéis, a DataImpulse oferece IPs residenciais, móveis e de datacenter de origem ética em 195 países, com sessões rotativas e sticky a partir de 1 dólar por GB. Crie uma conta e execute hoje o seu primeiro job de listagens de hotéis.
