Extractor de Búsqueda de Booking

Misma ciudad, mismo sitio.
Columnas distintas.

Conservamos noventa filas de tres ejecuciones correctas sobre una ciudad, y el hallazgo que más importa no va de hoteles. Tres de las dieciséis columnas aparecieron o desaparecieron según la presentación que el sitio sirvió aquel día: la moneda, la unidad de distancia, la línea de impuestos y el campo de estrellas se movieron todos juntos. Lea esto antes de comparar dos exportaciones.

500 filas gratis por única vezluego 0,002 $ por fila90 filas en 5 ejecucionesCSV · JSON · Excel
Cómo funciona

Una URL de búsqueda entra, una hoja de cálculo sale.

  1. PASO 1Inicie sesión en la plataforma.
  2. PASO 2Abra el Booking Search Scraper.
  3. PASO 3Pegue las URL de búsqueda de Booking que quiera, una por línea: una página de resultados para un destino. En nuestras ejecuciones funcionaron tanto la forma corta como la forma completa del destino.
  4. PASO 4Elija el formato de salida (CSV / JSON / XLSX).
  5. PASO 5Lance el trabajo.
  6. PASO 6Descargue los resultados: dieciséis columnas, una fila por resultado de búsqueda.
Qué esperar

Lo que conviene saber antes de ejecutarlo.

La presentación decide qué columnas recibe

Este es el hallazgo alrededor del cual hay que planificar. Dos de nuestras ejecuciones volvieron con precios en una moneda y distancias en millas; la tercera volvió en otra moneda con distancias en kilómetros. Hasta ahí es cosmético. Lo que no es cosmético es que tres columnas se movieron con ellas: la ejecución en la segunda moneda llevaba una línea de impuestos en todas y cada una de las filas y un campo de estrellas en casi todas, y no llevaba ningún precio anterior. Las dos ejecuciones en la primera moneda eran el espejo exacto: un precio anterior en algunas filas, y ninguna línea de impuestos ni campo de estrellas en ningún sitio. Mismo sitio, misma ciudad.

La columna de estrellas no contiene un número de estrellas

En noventa filas el campo tomó seis valores y ningún otro: vacío en más de la mitad, y por lo demás 4, 8, 12, 16 o 20, siempre un múltiplo de cuatro, nunca un 1, 2, 3 o 5. Los dos establecimientos con el valor más alto son los dos hoteles de lujo del conjunto; los que llevan el más bajo son hoteles económicos. Así que la columna es compatible con cuatro veces una valoración de uno a cinco. No vamos a afirmarlo como un hecho, porque no pudimos comprobarlo contra la ficha en vivo: vea la nota sobre el acceso más abajo.

El precio es de una noche que la exportación no nombra

Todas las filas llevan un precio y ninguna lleva una fecha. La entrada y la salida a las que se aplica el precio viven dentro del enlace, en su cadena de consulta, y en nuestras ejecuciones caían unos quince días después de la propia ejecución. Así que una columna de precio comparada entre dos exportaciones está comparando dos noches distintas salvo que antes saque las fechas de la URL. La columna de ocupación tampoco ayuda: decía lo mismo en las noventa filas, porque es el valor por defecto de la búsqueda y no algo del hotel.

La misma búsqueda dos veces devuelve hoteles distintos

Lanzamos la consulta idéntica con cuatro días de diferencia y los dos conjuntos de resultados no compartieron ninguna página de hotel. Una tercera ejecución compartió cuatro. Es lo que cabe esperar de una página que ordena disponibilidad para una noche concreta en vez de listar los hoteles de una ciudad, pero significa que esta exportación es una instantánea, no un registro. No construya con ella una lista estable de hoteles; construya una serie temporal y use como clave la dirección de la página del hotel con los parámetros de seguimiento eliminados.

No hay columna de estado, así que una ejecución vacía calla

Dos de nuestras cinco ejecuciones no devolvieron absolutamente nada: un archivo vacío, sin filas y sin explicación. Todos los servicios de catálogo que ejecutamos escriben un indicador por fila que registra un bloqueo o una entrada rechazada; este no tiene esa columna, así que cuando una ejecución vuelve vacía no hay dónde alojar un motivo. Cuente con ello: compruebe usted mismo el número de filas y trate el cero como algo que reintentar y no como una respuesta.

Dos maneras de decir vacío, en un mismo archivo

La mayoría de las columnas usan una cadena vacía cuando no hay nada que informar. Dos -la línea de impuestos y la etiqueta de promoción- usan en su lugar un null de JSON, y nunca una cadena vacía. Un cargador que compruebe solo una de las dos manejará mal la otra en silencio, y son precisamente los campos por los que filtraría para encontrar habitaciones con descuento. Es una cosa pequeña que cuesta una tarde si se topa con ella tarde.

Lo que recupera

Dieciséis columnas, y nueve llegan siempre.

Leídas de una exportación real, en el orden de la hoja, con recuentos de relleno medidos sobre las noventa filas que conservamos. Donde una columna se describe como a veces ausente, la nota dice de qué depende, porque en este servicio suele ser de la ejecución y no del hotel.

query
La URL de búsqueda de Booking que envió, devuelta. Llena en las 90 filas. Las dos formas de destino que probamos funcionaron, así que es como distingue de qué búsqueda procede un bloque de filas.
name
El nombre del alojamiento tal como lo declara la página de resultados. Llena en las 90 filas: el campo más fiable de la exportación, y el que usar como clave en un informe legible por personas.
stars
Llena en 39 de 90 filas, y nunca en las dos ejecuciones en la primera moneda. No contiene un número de estrellas: en todas las filas tomó solo los valores 4, 8, 12, 16 o 20. Eso es compatible con cuatro veces una valoración de uno a cinco, y los establecimientos de los extremos encajan con esa lectura, pero no pudimos confirmarlo contra el sitio en vivo. Divida con cautela y valide antes de mostrarlo.
rating
La puntuación de los huéspedes sobre una escala de diez. Llena en 89 de 90 filas, entre 1,3 y 9,4 en lo que conservamos. La única excepción es un alojamiento que tampoco tenía número de reseñas ni etiqueta: una ficha sin nada puntuado todavía.
review_label
La palabra que el sitio pone junto a la puntuación. Llena en 65 de 90 filas, con los valores que cabría esperar, más uno que no es una palabra en absoluto sino el propio encabezado de columna del sitio, en cinco filas que tenían apenas un puñado de reseñas cada una. Filtre ese valor antes de agrupar por esta columna.
reviews
Sobre cuántas reseñas se construye la puntuación. Llena en 89 de 90 filas, desde una sola reseña hasta varios miles. Vale la pena leerla junto a rating: la puntuación más baja de nuestros datos se apoya en tres reseñas.
location
El barrio y la ciudad tal como los etiqueta la página de resultados. Llena en las 90 filas. Un nombre de distrito en vez de una dirección: en esta exportación no hay calle, código postal ni coordenada en ningún sitio.
distance
A qué distancia está el alojamiento del centro, como texto libre. Llena en las 90 filas, pero la unidad sigue a la ejecución, no al alojamiento: millas en dos de nuestras ejecuciones y kilómetros en la tercera. Analice la unidad, no la dé nunca por supuesta.
room_type
La habitación concreta a la que corresponde el precio citado. Llena en las 90 filas. Fíjese en que algunos valores terminan en una etiqueta suelta donde la configuración de camas se ha colado en el nombre de la habitación: un artefacto de captura que conviene recortar.
occupancy
La estancia que cubre el precio. Llena en las 90 filas, con el valor idéntico en todas ellas. Refleja el valor por defecto de la búsqueda y no algo de la ficha, así que no aporta información entre filas. Trátela como una constante que comprobar, no como un campo por el que agrupar.
price
La tarifa nocturna destacada, con símbolo de moneda. Llena en las 90 filas, y la moneda es la de la ejecución, no la del hotel. Dos de nuestras ejecuciones cotizaron una moneda y la tercera otra para la misma ciudad, así que limpie y convierta antes de comparar nada entre exportaciones.
original_price
El precio anterior tachado, donde la ficha muestra uno. Llena en 13 de 90 filas, todas en la primera moneda: la ejecución en la segunda moneda no llevaba ninguno. Once de las trece llevan además una etiqueta de promoción y dos no, así que puede existir un descuento sin que se le ponga nombre.
taxes
La línea de impuestos y tasas que aparece bajo la tarifa. Llena en 42 de 90 filas, que son todas las filas de una ejecución y ninguna de las otras dos. Es el caso más claro de una columna que depende de la presentación y no del alojamiento. Los valores ausentes llegan como un null de JSON, no como una cadena vacía.
deal
La etiqueta de promoción, donde se muestra una. Llena en 29 de 90 filas, con un conjunto pequeño de valores de campaña con nombre. Como en taxes, un valor ausente es un null de JSON y no una cadena vacía.
url
El enlace a la página del alojamiento. Llena en las 90 filas, y muy decorado: un identificador de afiliado, una etiqueta de seguimiento, un identificador de sesión, una marca de tiempo y los identificadores de bloque detrás de la tarifa citada, todo en la cadena de consulta. Las fechas de entrada y salida a las que se aplica el precio también están aquí, y en ningún otro sitio de la exportación. Recorte hasta la ruta para tener una clave estable; saque antes las fechas.
image
Una miniatura en el servidor de imágenes del sitio. Llena en las 90 filas, a un tamaño fijo pequeño. Bien para una vista de listado, demasiado pequeña como imagen de producto.

Dieciséis columnas por fila · CSV, JSON o Excel

Por encima de cada nota de columna hay aquí dos hechos estructurales. El primero es que esta exportación no tiene columna de estado. Todos los demás servicios que ejecutamos escriben un indicador por fila que registra si la consulta tuvo éxito, fue rechazada o recibió el tipo de entrada equivocado, y así es como se habrían explicado dos de nuestras cinco ejecuciones. Devolvieron cero filas y nada más, así que el archivo no puede decirle si la búsqueda estaba vacía, si la página no cargó, o algo intermedio. Compruebe el número de filas en su propia canalización y trate un cero como un reintento. El segundo es que tres columnas dependen de la presentación y no del alojamiento. La ejecución servida en la segunda moneda llevaba una línea de impuestos en todas las filas y un valor de estrellas en casi todas, y no llevaba ningún precio anterior; las dos ejecuciones servidas en la primera moneda eran el espejo exacto. La unidad de distancia cambió con ellas. Eso significa que una comparación ingenua de dos exportaciones informará de que los hoteles ganaron y perdieron atributos cuando nada en ellos cambió, así que registre en qué moneda volvió cada ejecución y compare lo comparable. Todo lo demás es corriente: nueve columnas llegaron en las noventa filas, la puntuación y su recuento de reseñas en todas menos una, y los campos restantes son genuinamente opcionales tal como cabría esperar.

Flujos de trabajo habituales

Para qué sirve una instantánea de búsqueda.

Seguimiento de tarifas

Siga lo que cuesta una ciudad en una noche dada

Ejecute el mismo destino de forma programada, saque la fecha de entrada del enlace, y tendrá una serie de tarifas por noche en vez de por ejecución. Use como clave la página del alojamiento con los parámetros de seguimiento eliminados y registre la moneda al lado: ese par es lo que hace comparables dos ejecuciones.

Ingresos · Precios
Conjunto competitivo

Vea quién está descontando y cuánto

El precio anterior y la etiqueta de promoción dicen juntos qué fichas están bajando tarifas y cuáles llevan una campaña con nombre. Ambos son opcionales, y una de nuestras filas estaba descontada sin llevar etiqueta, así que calcule la diferencia a partir de las dos columnas de precio en vez de fiarse solo de la etiqueta.

Hostelería · Inteligencia competitiva
Estudio de mercado

Perfile la oferta y las puntuaciones de un destino

Noventa filas sobre una ciudad nos dieron puntuaciones desde poco más de uno hasta la mitad de los nueves y recuentos de reseñas desde una sola hasta varios miles. Es suficiente para describir la forma de un mercado, siempre que recuerde que está describiendo las fichas disponibles para una noche y no el parque hotelero de la ciudad.

Investigación · Análisis
Comparación por habitación

Compare lo comparable, no hotel con hotel

Cada fila nombra la habitación concreta a la que corresponde el precio, así que una comparación entre dos alojamientos es en realidad una comparación entre dos tipos de habitación. Normalice esa columna primero -algunos valores llevan una etiqueta de camas suelta- y la tabla resultante será mucho más honesta que una simple lista de precio por hotel.

Análisis · Calidad de datos
Precios

Filas devueltas, no intentos hechos.

Nivel gratuito

Las primeras 500 filas son gratis

Por única vez, al registrarse. Sin tarjeta y sin nada que cancelar después.

Por única vez, al registrarse
Tarifa

luego 0,002 $ por fila

Se factura por filas realmente devueltas. Una URL de búsqueda produjo cuarenta y tantas filas en dos de nuestras ejecuciones y ninguna en otras dos, así que el coste de un trabajo sigue a lo que vuelve y no a cuántas búsquedas encoló.

Facturado por filas devueltas
Sin suscripción

Nada recurrente

El saldo no caduca en un ciclo mensual, así que una programación semanal que de vez en cuando vuelve vacía no consume nada en silencio.

Sin caducidad mensual
10 % de descuento en su primera ejecución de pago.Use el código LIVESCRAPER10 al pagar.
Registrarse
Combina bien con

Otros sitios donde la gente busca habitación.

La parte legal

¿Es legal hacer scraping de Booking.com?

Las tarifas, las puntuaciones y los nombres de habitación en una página pública de resultados son hechos comerciales corrientes. Lo que aquí merece cuidado es la capa que hay delante del sitio, y el hecho de que nosotros mismos no logramos pasarla.

Una tarifa nocturna, el nombre de un alojamiento y un tipo de habitación son hechos sobre alojamiento puesto a la venta, leídos de una página que se sirve a cualquier visitante. Nada en las dieciséis columnas describe a un huésped: ni nombre, ni correo, ni teléfono, ni referencia de reserva. Los recuentos de reseñas y las puntuaciones son agregados que el sitio publica en la propia ficha, no reseñas individuales asociadas a personas concretas, así que las cuestiones de protección de datos que definen nuestros servicios de datos personales quedan fuera de esta. Lo que la exportación sí lleva es un enlace decorado con un identificador de afiliado y un token de sesión, que conviene eliminar antes de guardar filas en cualquier sitio compartido.

La preferencia declarada del sitio es permisiva en las rutas que este servicio usa. Su robots.txt respondió a una petición corriente con HTTP 200 el 12 de agosto de 2026, y leído con un comparador de grupos correcto el grupo general contiene setenta y una reglas y ninguna exclusión general; tanto la ruta de resultados de búsqueda como las páginas de alojamiento a las que enlazan nuestras filas están permitidas. Las exclusiones generales de ese archivo pertenecen a un puñado de rastreadores nombrados expresamente, no a los comunes. El tiempo de ejecución es otro asunto, y preferimos ser claros antes que dar a entender que entramos sin más: una petición corriente nuestra a una página de alojamiento y a la ruta de búsqueda volvió en ambos casos con una página intermedia en vez de contenido, así que no pudimos corroborar ni una sola fila contra la ficha en vivo. Todo lo de esta página procede, por tanto, de la propia exportación. Nuestro catálogo registra que este servicio necesita un proxy residencial de pago, y nombra un proveedor de protección distinto del que encontró nuestra comprobación. Informamos de ambos y no elegimos ninguno.

Nuestras propias condiciones son las mismas que en cualquier otro servicio de aquí. Solo páginas de acceso público, nada detrás de un inicio de sesión, ningún rastreador de terceros en la capa de datos, y las exportaciones se eliminan automáticamente a los 30 días. Sus primeras 500 filas son gratis y no requieren tarjeta de crédito.

livescraper.app · qué determina una ejecución
robots.txt permite la ruta de búsqueda y las páginas de alojamiento
Una petición simple de contenido encontró una página intermedia
90 filas en 3 ejecuciones; 2 más no devolvieron nada
Ninguna fila pudo comprobarse contra la ficha en vivo
Las exportaciones se eliminan automáticamente a los 30 días
Hay dos nombres registrados para la capa que hay delante de este sitio. Informamos de ambos y no elegimos ninguno.
Preguntas frecuentes

Lo que se pregunta la gente antes de registrarse.

¿Por qué desaparecieron dos de mis columnas entre ejecuciones?+
Porque cambió la presentación. En nuestros datos, la moneda, la unidad de distancia, la línea de impuestos y el campo de estrellas se movieron todos juntos: la ejecución servida en una moneda llevaba un valor de impuestos en todas las filas y un valor de estrellas en casi todas y ningún precio anterior, mientras que las ejecuciones en la otra moneda eran el espejo exacto. Nada cambió en los hoteles. Registre en qué moneda volvió una ejecución y compare lo comparable.
¿Qué contiene realmente la columna de estrellas?+
No un número de estrellas. En noventa filas tomó solo los valores 4, 8, 12, 16 y 20, o nada, nunca un 1, 2, 3 o 5. Los establecimientos con el valor más alto son los hoteles de lujo del conjunto y los del más bajo son económicos, así que es compatible con cuatro veces una valoración de uno a cinco. No lo afirmaremos como un hecho, porque el sitio en vivo nos sirvió una página intermedia en lugar de contenido y no pudimos comprobarlo.
¿A qué noche corresponde el precio?+
A una que ninguna columna nombra. Las fechas de entrada y salida viven en la cadena de consulta del enlace, y en nuestras ejecuciones caían unos quince días después de la ejecución. La columna de ocupación no ayuda: decía lo mismo en las noventa filas porque refleja el valor por defecto de la búsqueda. Extraiga las fechas de la URL antes de comparar dos precios.
¿Por qué la misma búsqueda devuelve hoteles distintos cada vez?+
Porque ordena disponibilidad para una noche concreta en vez de listar los hoteles de una ciudad. Lanzamos la consulta idéntica con cuatro días de diferencia y los dos conjuntos de resultados no compartieron ninguna página de alojamiento; una tercera ejecución compartió cuatro. Trate cada exportación como una instantánea y use como clave de su serie temporal la dirección de la página del alojamiento con los parámetros de seguimiento eliminados.
Una de mis ejecuciones volvió vacía. ¿Qué pasó?+
No podemos decírselo, y el archivo tampoco. Dos de nuestras cinco ejecuciones devolvieron cero filas, y este servicio no tiene columna de estado, así que, a diferencia de todos los servicios de catálogo que ejecutamos, no hay dónde registrar un motivo. Compruebe usted mismo el número de filas y trate un cero como algo que reintentar.
¿Verificaron las filas contra Booking.com?+
No, y preferimos decirlo. El 12 de agosto de 2026 una petición corriente tanto a una página de alojamiento como a la ruta de búsqueda devolvió una página intermedia en lugar de contenido. Así que todo lo de esta página está medido a partir de la exportación y nada se presenta como confirmado contra la ficha en vivo. Es un límite real de lo que podemos afirmar aquí, y poco habitual entre nuestras páginas.
¿Booking.com está bloqueado?+
Su robots.txt es permisivo en las rutas que este servicio usa: setenta y una reglas en el grupo general, ninguna exclusión general, y tanto la ruta de búsqueda como las páginas de alojamiento permitidas. Lo que hay delante del sitio en tiempo de ejecución es otra capa. Nuestro propio catálogo registra que este servicio necesita un proxy residencial de pago y nombra un proveedor de protección; nuestra comprobación encontró otro. Informamos de ambos y no elegimos ninguno.
¿Cómo manejo los valores vacíos?+
Con cuidado, porque hay dos convenciones en un mismo archivo. La mayoría de las columnas usan una cadena vacía cuando no hay nada que informar, pero la línea de impuestos y la etiqueta de promoción usan en su lugar un null de JSON y nunca una cadena vacía. Son precisamente los campos por los que filtraría para encontrar habitaciones con descuento, así que un cargador que compruebe solo una de las dos se equivocará en silencio.
¿Cuántas filas debería esperar por búsqueda?+
Nuestras tres ejecuciones correctas devolvieron cinco, cuarenta y dos y cuarenta y tres filas a partir de una sola URL de búsqueda cada una. No vamos a convertir eso en una media: otras dos ejecuciones no devolvieron nada, y una muestra de cinco es demasiado pequeña para prometer un rendimiento.
¿En qué formatos puedo exportar?+
CSV, JSON o Excel. Las dieciséis columnas y su orden son las mismas en los tres. Tenga en cuenta que la distinción entre null y vacío descrita arriba se ve en JSON y se aplana en los formatos de hoja de cálculo.

Noventa filas, y una nota honesta sobre cada una.

Hotel, puntuación, número de reseñas, ubicación, tipo de habitación, precio y un enlace: una fila por resultado de búsqueda. Lea la nota sobre cómo cambian las columnas con la presentación antes de comparar dos exportaciones. Sus primeras 500 filas son gratis y luego 0,002 $ cada una.

Activo al instante · sin tarjeta

Hacer scraping de resultados de búsqueda de Booking

Booking.com es uno de los mayores mercados de alojamiento del mundo, y este servicio convierte una de sus páginas de resultados de búsqueda en una tabla: una fila por ficha, dieciséis columnas, con el nombre del alojamiento, su puntuación de huéspedes y su número de reseñas, el barrio, la distancia al centro, la habitación concreta a la que corresponde la tarifa, el precio por noche, cualquier precio anterior tachado, cualquier línea de impuestos, cualquier etiqueta promocional, un enlace y una miniatura. Conservamos cinco ejecuciones sobre una sola ciudad, tres de las cuales devolvieron filas -cinco, cuarenta y tres y cuarenta y dos- y dos de las cuales no devolvieron nada. Noventa filas son una base razonable para describir cómo es la exportación, y es de donde está medida cada cifra de esta página.

Lo más útil que encontramos no va de hoteles. Dos de nuestras ejecuciones volvieron con tarifas en una moneda y distancias en millas; la tercera volvió en otra moneda con distancias en kilómetros. Hasta ahí es cosmético. Lo que no es cosmético es que tres columnas se movieron con la presentación: la ejecución en la segunda moneda llevaba una línea de impuestos en todas y cada una de las filas y un valor de estrellas en casi todas, y no llevaba ningún precio anterior, mientras que las dos ejecuciones en la primera moneda eran el espejo exacto: un precio anterior en algunas filas y ningún campo de impuestos ni de estrellas. Nada cambió en los alojamientos entre aquellas ejecuciones. Si compara dos exportaciones sin registrar en qué presentación volvió cada una, la comparación le dirá que los hoteles ganaron y perdieron atributos, y se equivocará.

Otros dos puntos estructurales conviene conocerlos antes de escribir un cargador. El primero es la columna de estrellas, que no contiene un número de estrellas: en las noventa filas tomó solo los valores cuatro, ocho, doce, dieciséis y veinte, o nada en absoluto, nunca un uno, un dos, un tres o un cinco. Los establecimientos con el valor más alto son los hoteles de lujo del conjunto y los del más bajo son económicos, así que el campo es compatible con cuatro veces una valoración convencional de uno a cinco. Nos quedamos cortos de afirmarlo como un hecho, por la razón que se da más abajo. El segundo es que el precio no lleva fecha. Todas las filas llevan una tarifa y ninguna lleva una noche; la entrada y la salida a las que se aplica la tarifa están en la cadena de consulta del enlace y en ningún otro sitio, y la columna de ocupación es idéntica en las noventa filas porque refleja el valor por defecto de la búsqueda y no la ficha. Dos precios comparados sin extraer antes esas fechas son dos noches distintas.

Hay también un límite en esta página que preferimos declarar a disimular. El 12 de agosto de 2026 el robots.txt del sitio respondió a una petición corriente y es permisivo en las rutas que este servicio usa: setenta y una reglas en el grupo general, ninguna exclusión general, y tanto la ruta de búsqueda como las páginas de alojamiento permitidas. Pero una petición corriente de contenido real, tanto en una página de alojamiento como en la ruta de búsqueda, volvió como una página intermedia y no como una página. Así que, a diferencia de la mayoría de nuestras páginas de catálogo, ninguna fila de aquí ha sido corroborada contra la ficha en vivo; todo está medido a partir de la exportación. Nuestro propio catálogo de servicios registra que este scraper necesita un proxy residencial de pago y nombra un proveedor de protección para el sitio, mientras que nuestra propia comprobación encontró otro: dos nombres para la misma capa, e informamos de ambos y no elegimos ninguno. Por último, trate cada exportación como una instantánea y no como un registro: lanzamos la consulta idéntica con cuatro días de diferencia y los dos conjuntos de resultados no compartieron ninguna página de alojamiento, que es lo que hace una página que ordena disponibilidad para una noche. Solo páginas de acceso público, ningún rastreador de terceros en la capa de datos, las exportaciones se eliminan automáticamente a los 30 días, y sus primeras 500 filas son gratis sin tarjeta de crédito.