Scraper de Busca do Booking

Mesma cidade, mesmo site.
Colunas diferentes.

Temos noventa linhas de três execuções bem-sucedidas sobre uma cidade, e o achado mais importante não é sobre hotéis. Três das dezesseis colunas apareceram ou sumiram conforme a apresentação que o site serviu naquele dia - a moeda, a unidade de distância, a linha de impostos e o campo de estrelas se moveram todos juntos. Leia isto antes de comparar duas exportações.

500 linhas grátis, uma única vezdepois US$ 0,002 por linha90 linhas em 5 execuçõesCSV · JSON · Excel
Como funciona

Uma URL de busca entra, uma planilha sai.

  1. PASSO 1Entre na plataforma.
  2. PASSO 2Abra o Booking Search Scraper.
  3. PASSO 3Cole as URLs de busca da Booking que quiser, uma por linha - uma página de resultados para um destino. Nas nossas execuções funcionaram tanto a forma curta quanto a forma completa do destino.
  4. PASSO 4Escolha o formato de saída (CSV / JSON / XLSX).
  5. PASSO 5Dispare o trabalho.
  6. PASSO 6Baixe os resultados - dezesseis colunas, uma linha por resultado de busca.
O que esperar

O que vale saber antes de executar.

A apresentação decide quais colunas você recebe

Este é o achado em torno do qual se planeja. Duas das nossas execuções voltaram com preços em uma moeda e distâncias em milhas; a terceira voltou em outra moeda com distâncias em quilômetros. Até aí é cosmético. O que não é cosmético é que três colunas se moveram junto: a execução na segunda moeda trazia uma linha de impostos em todas as linhas, sem exceção, e um campo de estrelas em quase todas, e não trazia nenhum preço anterior. As duas execuções na primeira moeda eram o espelho exato: um preço anterior em algumas linhas e nenhuma linha de impostos nem campo de estrelas em lugar algum. Mesmo site, mesma cidade.

A coluna de estrelas não traz um número de estrelas

Em noventa linhas o campo assumiu seis valores e nenhum outro: vazio em mais da metade e, no resto, 4, 8, 12, 16 ou 20 - sempre um múltiplo de quatro, nunca 1, 2, 3 ou 5. Os dois estabelecimentos com o valor mais alto são os dois hotéis de luxo do conjunto; os que trazem o mais baixo são hotéis econômicos. Então a coluna é compatível com quatro vezes uma avaliação de um a cinco. Não vamos afirmar isso como fato, porque não conseguimos conferir contra o anúncio ao vivo - veja a nota sobre acesso abaixo.

O preço é de uma noite que a exportação não nomeia

Toda linha traz um preço e nenhuma traz uma data. A entrada e a saída às quais o preço se aplica vivem dentro do link, na sua string de consulta, e nas nossas execuções caíam cerca de duas semanas depois da própria execução. Então uma coluna de preço comparada entre duas exportações está comparando duas noites diferentes, a menos que você tire as datas da URL antes. A coluna de ocupação também não ajuda: ela dizia a mesma coisa nas noventa linhas, porque é o padrão da busca e não algo do hotel.

A mesma busca duas vezes devolve hotéis diferentes

Rodamos a consulta idêntica com quatro dias de diferença e os dois conjuntos de resultados não compartilharam nenhuma página de hotel. Uma terceira execução compartilhou quatro. É o que se espera de uma página que ordena disponibilidade para uma noite específica em vez de listar os hotéis de uma cidade - mas significa que esta exportação é um retrato momentâneo, não um registro. Não monte com ela uma lista estável de hotéis; monte uma série temporal e use como chave o endereço da página do hotel com os parâmetros de rastreamento removidos.

Não há coluna de status, então uma execução vazia fica muda

Duas das nossas cinco execuções não devolveram absolutamente nada - um arquivo vazio, sem linhas, sem explicação. Todo serviço de catálogo que rodamos escreve um indicador por linha que registra um bloqueio ou uma entrada recusada; este não tem essa coluna, então quando uma execução volta vazia não há onde uma razão possa morar. Planeje para isso: confira a contagem de linhas você mesmo e trate o zero como algo a repetir, não como resposta.

Duas maneiras de dizer vazio, num só arquivo

A maioria das colunas usa uma cadeia vazia quando não há nada a relatar. Duas - a linha de impostos e o rótulo de promoção - usam no lugar um null de JSON, e nunca uma cadeia vazia. Um carregador que teste apenas uma das duas vai tratar a outra errado em silêncio, e são justamente os campos pelos quais você filtraria para achar quartos com desconto. É uma coisa pequena que custa uma tarde se você esbarrar nela tarde.

O que você recebe

Dezesseis colunas, e nove chegam sempre.

Lidas de uma exportação real, na ordem da planilha, com contagens de preenchimento medidas sobre as noventa linhas que temos. Onde uma coluna é descrita como às vezes ausente, a nota diz do que isso depende - porque neste serviço costuma ser da execução e não do hotel.

query
A URL de busca da Booking que você enviou, devolvida. Preenchida nas 90 linhas. As duas formas de destino que testamos funcionaram, então é assim que você sabe de qual busca veio um bloco de linhas.
name
O nome da propriedade tal como a página de resultados o declara. Preenchida nas 90 linhas - o campo mais confiável da exportação, e aquele em que ancorar um relatório legível por pessoas.
stars
Preenchida em 39 de 90 linhas, e nunca nas duas execuções na primeira moeda. Não traz um número de estrelas: em todas as linhas assumiu apenas os valores 4, 8, 12, 16 ou 20. Isso é compatível com quatro vezes uma avaliação de um a cinco, e as propriedades do topo e da base da faixa se encaixam nessa leitura, mas não conseguimos confirmar contra o site ao vivo. Divida com cautela e valide antes de exibir.
rating
A nota dos hóspedes numa escala de dez. Preenchida em 89 de 90 linhas, variando de 1,3 a 9,4 no que temos. A única exceção é uma propriedade que também não tinha quantidade de resenhas nem rótulo - um anúncio sem nada pontuado ainda.
review_label
A palavra que o site coloca ao lado da nota. Preenchida em 65 de 90 linhas, com os valores que se esperaria - mais um que não é palavra alguma, e sim o próprio cabeçalho de coluna do site, em cinco linhas que tinham apenas um punhado de resenhas cada. Filtre esse valor antes de agrupar por esta coluna.
reviews
Sobre quantas resenhas a nota é construída. Preenchida em 89 de 90 linhas, de uma única resenha a vários milhares. Vale ler ao lado de rating: a nota mais baixa dos nossos dados se apoia em três resenhas.
location
O bairro e a cidade tal como a página de resultados os rotula. Preenchida nas 90 linhas. Um nome de bairro em vez de um endereço - não há rua, CEP nem coordenada em lugar algum desta exportação.
distance
A que distância a propriedade fica do centro, como texto livre. Preenchida nas 90 linhas - mas a unidade segue a execução, não a propriedade: milhas em duas das nossas execuções e quilômetros na terceira. Analise a unidade, nunca a presuma.
room_type
O quarto específico a que o preço cotado se refere. Preenchida nas 90 linhas. Note que alguns valores terminam num rótulo solto, onde a configuração de camas escorreu para dentro do nome do quarto - um artefato de captura que vale aparar.
occupancy
A estadia que o preço cobre. Preenchida nas 90 linhas - com o valor idêntico em todas elas. Reflete o padrão da busca e não algo do anúncio, então não carrega informação entre linhas. Trate como uma constante a conferir, não como um campo para agrupar.
price
A diária em destaque, com símbolo de moeda. Preenchida nas 90 linhas - e a moeda é a da execução, não a do hotel. Duas das nossas execuções cotaram numa moeda e a terceira em outra para a mesma cidade, então limpe e converta antes de comparar qualquer coisa entre exportações.
original_price
O preço anterior riscado, onde o anúncio mostra um. Preenchida em 13 de 90 linhas, todas na primeira moeda - a execução na segunda moeda não trazia nenhum. Onze das treze também trazem um rótulo de promoção e duas não, então um desconto pode existir sem ser nomeado.
taxes
A linha de impostos e taxas mostrada sob a diária. Preenchida em 42 de 90 linhas - que são todas as linhas de uma execução e nenhuma das outras duas. É o caso mais claro de uma coluna que depende da apresentação e não da propriedade. Valores ausentes chegam como um null de JSON, não como uma cadeia vazia.
deal
O rótulo de promoção, onde há um. Preenchida em 29 de 90 linhas, com um conjunto pequeno de valores de campanha nomeados. Como em taxes, um valor ausente é um null de JSON e não uma cadeia vazia.
url
O link para a página da propriedade. Preenchida nas 90 linhas - e bem enfeitado: um identificador de afiliado, um rótulo de rastreamento, um identificador de sessão, um carimbo de tempo e os identificadores de bloco por trás da diária cotada, tudo na string de consulta. As datas de entrada e saída às quais o preço se aplica também estão aqui, e em nenhum outro lugar da exportação. Corte até o caminho para ter uma chave estável; leia as datas antes de fazer isso.
image
Uma miniatura no servidor de imagens do site. Preenchida nas 90 linhas, num tamanho fixo pequeno. Serve para uma visão em lista, pequena demais para ser imagem de produto.

Dezesseis colunas por linha · CSV, JSON ou Excel

Dois fatos estruturais pairam sobre cada nota de coluna aqui. O primeiro é que esta exportação não tem coluna de status. Todo outro serviço que rodamos escreve um indicador por linha registrando se a busca teve sucesso, foi recusada ou recebeu o tipo errado de entrada - e é assim que duas das nossas cinco execuções teriam se explicado. Elas devolveram zero linhas e mais nada, então o arquivo não consegue dizer se a busca estava vazia, se a página não carregou, ou algo no meio. Confira a contagem de linhas no seu próprio processo e trate um zero como uma nova tentativa. O segundo é que três colunas dependem da apresentação e não da propriedade. A execução servida na segunda moeda trazia uma linha de impostos em todas as linhas e um valor de estrelas em quase todas, e não trazia preço anterior algum; as duas execuções servidas na primeira moeda eram o espelho exato. A unidade de distância virou junto. Isso significa que uma comparação ingênua de duas exportações vai relatar que hotéis ganharam e perderam atributos quando nada neles mudou - então registre em que moeda cada execução voltou e compare o comparável. O resto é comum: nove colunas chegaram nas noventa linhas, a nota e a sua contagem de resenhas em todas menos uma, e os campos restantes são genuinamente opcionais do jeito que se esperaria.

Fluxos de trabalho comuns

Para que serve um retrato de busca.

Monitoramento de diárias

Acompanhe quanto custa uma cidade numa noite específica

Rode o mesmo destino de forma agendada, tire a data de entrada do link, e você tem uma série de diárias por noite em vez de por execução. Use como chave a página da propriedade com os parâmetros de rastreamento removidos e registre a moeda ao lado - esse par é o que torna duas execuções comparáveis.

Receita · Precificação
Conjunto competitivo

Veja quem está dando desconto, e de quanto

O preço anterior e o rótulo de promoção dizem juntos quais anúncios estão cortando diárias e quais estão em campanha nomeada. Os dois são opcionais, e uma das nossas linhas estava com desconto sem trazer rótulo - então calcule a diferença a partir das duas colunas de preço em vez de confiar só no rótulo.

Hotelaria · Inteligência competitiva
Pesquisa de mercado

Trace o perfil da oferta e das notas de um destino

Noventa linhas sobre uma cidade nos deram notas do início da escala até a metade dos noves e contagens de resenhas de uma única até vários milhares. É o suficiente para descrever o formato de um mercado - desde que você lembre que está descrevendo os anúncios disponíveis para uma noite, e não o parque hoteleiro da cidade.

Pesquisa · Análise
Comparação por quarto

Compare o comparável, não hotel com hotel

Cada linha nomeia o quarto específico a que o preço se refere, então uma comparação entre duas propriedades é na verdade uma comparação entre dois tipos de quarto. Normalize essa coluna primeiro - alguns valores trazem um rótulo de camas solto - e a tabela resultante fica bem mais honesta do que uma lista simples de preço por hotel.

Análise · Qualidade de dados
Preços

Linhas devolvidas, não tentativas feitas.

Nível gratuito

As primeiras 500 linhas são grátis

Uma única vez, no cadastro. Sem cartão e sem nada para cancelar depois.

Uma única vez, no cadastro
Tarifa

depois US$ 0,002 por linha

Cobrado pelas linhas realmente devolvidas. Uma URL de busca produziu quarenta e poucas linhas em duas das nossas execuções e nenhuma em outras duas, então o custo de um trabalho segue o que volta e não quantas buscas você enfileirou.

Cobrado pelas linhas devolvidas
Sem assinatura

Nada recorrente

O saldo não expira num ciclo mensal, então um agendamento semanal que de vez em quando volta vazio não escoa nada em silêncio.

Sem expiração mensal
10% de desconto na sua primeira execução paga.Use o código LIVESCRAPER10 no checkout.
Cadastre-se
Combina bem com

Outros lugares onde as pessoas procuram quarto.

A parte jurídica

É legal fazer scraping da Booking.com?

Diárias, notas e nomes de quarto numa página pública de resultados são fatos comerciais corriqueiros. O que merece cuidado aqui é a camada à frente do site, e o fato de que nós mesmos não conseguimos passar por ela.

Uma diária, o nome de uma propriedade e um tipo de quarto são fatos sobre hospedagem posta à venda, lidos de uma página servida a qualquer visitante. Nada nas dezesseis colunas descreve um hóspede: nem nome, nem e-mail, nem telefone, nem número de reserva. As contagens de resenhas e as notas são agregados que o site publica no próprio anúncio, e não resenhas individuais ligadas a pessoas - então as questões de proteção de dados que moldam os nossos serviços de dados pessoais ficam de fora desta. O que a exportação traz, sim, é um link enfeitado com um identificador de afiliado e um token de sessão, que vale remover antes de guardar linhas em qualquer lugar compartilhado.

A preferência declarada do site é permissiva nos caminhos que este serviço usa. O seu robots.txt respondeu a um pedido comum com HTTP 200 em 12 de agosto de 2026, e lido com um comparador de grupos correto o grupo geral traz setenta e uma regras e nenhuma exclusão geral; tanto o caminho de resultados de busca quanto as páginas de propriedade para as quais as nossas linhas apontam estão permitidos. As exclusões gerais desse arquivo pertencem a um punhado de rastreadores nomeados especificamente, não aos comuns. O tempo de execução é outra história, e preferimos ser diretos a insinuar que entramos: um pedido comum nosso por uma página de propriedade e pelo caminho de busca voltou nos dois casos com uma página intermediária em vez de conteúdo, então não conseguimos corroborar nenhuma linha contra o anúncio ao vivo. Tudo nesta página vem, portanto, da própria exportação. O nosso catálogo registra que este serviço precisa de um proxy residencial pago, e nomeia um fornecedor de proteção diferente daquele que a nossa sondagem encontrou. Relatamos os dois e não escolhemos nenhum.

Nossos próprios termos são os mesmos de qualquer outro serviço daqui. Só páginas de acesso público, nada atrás de um login, nenhum rastreador de terceiros na camada de dados, e as exportações são apagadas automaticamente em 30 dias. Suas primeiras 500 linhas são grátis e não pedem cartão de crédito.

livescraper.app · o que molda uma execução
O robots.txt permite o caminho de busca e as páginas de propriedade
Um pedido simples de conteúdo encontrou uma página intermediária
90 linhas em 3 execuções; outras 2 não devolveram nada
Nenhuma linha pôde ser conferida contra o anúncio ao vivo
As exportações são apagadas automaticamente em 30 dias
Há dois nomes registrados para a camada à frente deste site. Relatamos os dois e não escolhemos nenhum.
Perguntas frequentes

O que as pessoas perguntam antes de se cadastrar.

Por que duas das minhas colunas sumiram entre execuções?+
Porque a apresentação mudou. Nos nossos dados a moeda, a unidade de distância, a linha de impostos e o campo de estrelas se moveram todos juntos: a execução servida numa moeda trazia um valor de impostos em todas as linhas e um valor de estrelas em quase todas e nenhum preço anterior, enquanto as execuções na outra moeda eram o espelho exato. Nada mudou nos hotéis. Registre em que moeda uma execução voltou e compare o comparável.
O que a coluna de estrelas traz de fato?+
Não um número de estrelas. Em noventa linhas ela assumiu apenas os valores 4, 8, 12, 16 e 20, ou nada - nunca 1, 2, 3 ou 5. As propriedades com o valor mais alto são os hotéis de luxo do conjunto e as com o mais baixo são econômicas, então é compatível com quatro vezes uma avaliação de um a cinco. Não vamos afirmar isso como fato, porque o site ao vivo nos serviu uma página intermediária em vez de conteúdo e não conseguimos conferir.
A que noite o preço se aplica?+
A uma que nenhuma coluna nomeia. As datas de entrada e saída vivem na string de consulta do link, e nas nossas execuções caíam cerca de duas semanas depois da execução. A coluna de ocupação não ajuda - ela dizia a mesma coisa nas noventa linhas porque reflete o padrão da busca. Extraia as datas da URL antes de comparar dois preços.
Por que a mesma busca devolve hotéis diferentes toda vez?+
Porque ela ordena disponibilidade para uma noite específica em vez de listar os hotéis de uma cidade. Rodamos a consulta idêntica com quatro dias de diferença e os dois conjuntos de resultados não compartilharam nenhuma página de propriedade; uma terceira execução compartilhou quatro. Trate cada exportação como um retrato momentâneo e use como chave da sua série temporal o endereço da página da propriedade com os parâmetros de rastreamento removidos.
Uma das minhas execuções voltou vazia. O que aconteceu?+
Não podemos dizer, e o arquivo também não. Duas das nossas cinco execuções devolveram zero linhas, e este serviço não tem coluna de status - então, ao contrário de todo serviço de catálogo que rodamos, não há onde registrar uma razão. Confira a contagem de linhas você mesmo e trate um zero como algo a repetir.
Vocês verificaram as linhas contra a Booking.com?+
Não, e preferimos dizer isso. Em 12 de agosto de 2026 um pedido comum tanto por uma página de propriedade quanto pelo caminho de busca devolveu uma página intermediária em vez de conteúdo. Então tudo nesta página é medido a partir da exportação e nada é apresentado como confirmado contra o anúncio ao vivo. É um limite real do que podemos afirmar aqui, e é incomum entre as nossas páginas.
A Booking.com está bloqueada?+
O robots.txt dela é permissivo nos caminhos que este serviço usa - setenta e uma regras no grupo geral, nenhuma exclusão geral, e tanto o caminho de busca quanto as páginas de propriedade permitidos. O que fica à frente do site em tempo de execução é outra camada. O nosso próprio catálogo registra que este serviço precisa de um proxy residencial pago e nomeia um fornecedor de proteção; a nossa sondagem encontrou outro. Relatamos os dois e não escolhemos nenhum.
Como lido com os valores vazios?+
Com cuidado, porque há duas convenções num só arquivo. A maioria das colunas usa uma cadeia vazia quando não há nada a relatar, mas a linha de impostos e o rótulo de promoção usam no lugar um null de JSON e nunca uma cadeia vazia. São justamente os campos pelos quais você filtraria para achar quartos com desconto, então um carregador que teste só uma das duas vai errar em silêncio.
Quantas linhas devo esperar por busca?+
Nossas três execuções bem-sucedidas devolveram cinco, quarenta e duas e quarenta e três linhas a partir de uma única URL de busca cada. Não vamos transformar isso numa média - outras duas execuções não devolveram nada, e uma amostra de cinco é pequena demais para prometer um rendimento.
Em que formatos posso exportar?+
CSV, JSON ou Excel. As dezesseis colunas e a ordem delas são as mesmas nos três. Note que a distinção entre null e vazio descrita acima é visível no JSON e se achata nos formatos de planilha.

Noventa linhas, e uma nota honesta sobre cada uma.

Hotel, nota, quantidade de resenhas, localização, tipo de quarto, preço e um link - uma linha por resultado de busca. Leia a nota sobre como as colunas mudam com a apresentação antes de comparar duas exportações. Suas primeiras 500 linhas são grátis, depois US$ 0,002 cada.

Ativo na hora · sem cartão

Fazer scraping de resultados de busca da Booking

A Booking.com é um dos maiores marketplaces de hospedagem do mundo, e este serviço transforma uma das suas páginas de resultados de busca numa tabela: uma linha por anúncio, dezesseis colunas, cobrindo o nome da propriedade, a sua nota de hóspedes e a contagem de resenhas, o bairro, a distância do centro, o quarto específico a que a cotação se refere, a diária, qualquer preço anterior riscado, qualquer linha de impostos, qualquer rótulo promocional, um link e uma miniatura. Temos cinco execuções sobre uma única cidade, três das quais devolveram linhas - cinco, quarenta e três e quarenta e duas - e duas que não devolveram nada. Noventa linhas são uma base razoável para descrever como é a exportação, e é de onde cada número desta página é medido.

A coisa mais útil que encontramos não é sobre hotéis. Duas das nossas execuções voltaram com diárias em uma moeda e distâncias em milhas; a terceira voltou em outra moeda com distâncias em quilômetros. Até aí é cosmético. O que não é cosmético é que três colunas se moveram com a apresentação: a execução na segunda moeda trazia uma linha de impostos em cada uma das suas linhas e um valor de estrelas em quase todas, e não trazia preço anterior em lugar nenhum, enquanto as duas execuções na primeira moeda eram o espelho exato - um preço anterior em algumas linhas e nenhum campo de impostos ou de estrelas. Nada mudou nas propriedades entre aquelas execuções. Se você comparar duas exportações sem registrar em que apresentação cada uma voltou, a comparação vai dizer que hotéis ganharam e perderam atributos, e vai estar errada.

Mais dois pontos estruturais valem ser conhecidos antes de escrever um carregador. O primeiro é a coluna de estrelas, que não traz um número de estrelas: nas noventa linhas ela assumiu apenas os valores quatro, oito, doze, dezesseis e vinte, ou nada - nunca um, dois, três ou cinco. As propriedades com o valor mais alto são os hotéis de luxo do conjunto e as com o mais baixo são econômicas, então o campo é compatível com quatro vezes uma avaliação convencional de um a cinco. Paramos antes de afirmar isso como fato, por um motivo dado abaixo. O segundo é que o preço não tem data anexada. Toda linha traz uma diária e nenhuma traz uma noite; a entrada e a saída às quais a diária se aplica ficam na string de consulta do link e em nenhum outro lugar, e a coluna de ocupação é idêntica nas noventa linhas porque reflete o padrão da busca e não o anúncio. Dois preços comparados sem extrair antes essas datas são duas noites diferentes.

Há também um limite nesta página que preferimos declarar a disfarçar. Em 12 de agosto de 2026 o robots.txt do site respondeu a um pedido comum e é permissivo nos caminhos que este serviço usa - setenta e uma regras no grupo geral, nenhuma exclusão geral, e tanto o caminho de busca quanto as páginas de propriedade permitidos. Mas um pedido comum por conteúdo de verdade, tanto numa página de propriedade quanto no caminho de busca, voltou como uma página intermediária e não como uma página. Então, ao contrário da maioria das nossas páginas de catálogo, nenhuma linha aqui foi corroborada contra o anúncio ao vivo; tudo é medido a partir da exportação. O nosso próprio catálogo de serviços registra que este scraper precisa de um proxy residencial pago e nomeia um fornecedor de proteção para o site, enquanto a nossa própria sondagem encontrou outro - dois nomes para a mesma camada, e relatamos os dois sem escolher nenhum. Por fim, trate cada exportação como um retrato momentâneo e não como um registro: rodamos a consulta idêntica com quatro dias de diferença e os dois conjuntos de resultados não compartilharam nenhuma página de propriedade, que é o que uma página que ordena disponibilidade para uma noite faz. Só páginas de acesso público, nenhum rastreador de terceiros na camada de dados, exportações apagadas automaticamente em 30 dias, e as suas primeiras 500 linhas grátis, sem cartão de crédito.