Trabajo en la industria de viajes como arquitecto de software / líder de proyecto en el tipo exacto de proyecto que usted describe: en nuestra región trabajamos con proveedores directamente, pero para los salientes nos conectamos con varios agregadores.
Para responder a tu pregunta ... algunos datos los tienes, otros los obtienes de diversas formas, y algunos los tienes que torturar y torcer hasta que confiesa.
¿Cuál es tu ángulo?
Las preguntas que tienes que hacerte son ... ¿Quieres vender publicidad como Kayak o te haces un corte como Expedia? ¿Te gusta la búsqueda o la venta de servicios de viajes? ¿Apunta a un nicho (por ejemplo, solo viajes en avión) o todo (alojamiento, aerolíneas, alquiler de autos, servicios adicionales como transporte / visitas turísticas / conferencias, etc.)? ¿Se orienta a la región (EE. UU. O parte de EE. UU.) O al mundo? ¿Qué tan profundo va? ¿Simplemente muestra varios sitios en una sola pantalla o agrupa diferentes servicios y los empaqueta dinámicamente?
Obteniendo los datos
Si opta por el modelo de negocio de Kayak, técnicamente no necesita el permiso del sitio ... pero muchos sitios tienen programas de afiliados con IFrames u otras formas simples de dirigir al cliente a su sitio. En el lado positivo, no tiene que lidiar con pagos / quejas ni con los propios viajeros. En cuanto a las desventajas ... si quieres comparar precios tú mismo y presentar la opción más barata al usuario, tendrás que integrarte a un nivel más profundo, y eso significa API y web scraping.
En cuanto al web scraping ... evítalo. Apesta. De Verdad. Simplemente no lo hagas. Confía en mí esta vez. Por ejemplo, algunas cosas como lowcosters no se pueden obtener sin web scraping. Las aerolíneas de bajo costo viven de servicios de valor agregado. Si el usuario no ve su sitio web, no vende cosas adicionales y no gana nada. Por lo tanto, no tienen afiliados, no ofrecen API y cambian el diseño de su sitio casi constantemente. Sin embargo, hay empresas que se ganan la vida rastreando sitios web de bajo costo y envolviéndolos en buenas API. Si puede pagarlos, puede ofrecer a sus usuarios una comparación de costos de vuelos de bajo costo y eso es enorme.
Por otro lado, existen operadores "normales" que ofrecen API. No es un gran problema llegar a las aerolíneas, ya que todas están unidas por IATA ; Básicamente, usted compra a IATA y IATA distribuye el dinero a los transportistas. Sin embargo, probablemente no desee conectarse directamente a la red del operador. Tienen servicios web y SOAP en estos días, pero créanme cuando digo que hay protocolos SOAP que son simplemente envoltorios increíblemente delgados alrededor de un mensaje de texto a través del cual puede interactuar con un mainframe con un protocolo estilo 80es (piense en un Unix indica dónde se le factura por comando; y se necesitan alrededor de 20 comandos para hacer una búsqueda). Es por eso que probablemente quieras conectarte con alguien un poco más abajo en la cadena alimentaria, con una mejor API.
Por tanto, las líneas aéreas están en ambos extremos de la curva gaussiana; por un lado están los proveedores individuales y, por el otro, los sistemas altamente centralizados donde implementa una API y puede volar a cualquier parte del mundo. El alojamiento y el resto de productos de viaje están en el medio. Hay varios grandes actores que agregan hoteles y una tonelada de pequeños proveedores con muchos agregadores que cubren solo una parte de un espectro. Por ejemplo, puede alquilar un faro y ni siquiera es tan caro, pero no podrá comparar los precios de diferentes faros en un solo lugar.
Si te gusta el modelo de negocio de Kayak, probablemente termines raspando sitios web. Si desea integrar diferentes proveedores, a menudo trabajará con API, algunas de las cuales son bastante buenas y la mayoría tolerables. No he trabajado con RSS, pero no hay mucha diferencia entre RSS y web scraping. También hay una cuarta opción que no se menciona en la respuesta de Jeff ... aquella en la que obtiene sus datos todas las noches, por ejemplo, archivos .CSV a través de FTP y similares.
La vida apesta (mini-perorata)
Y luego está la complejidad. Cuanto más valor desee agregar, más complejidad tendrá que manejar. ¿Pueden buscar alojamientos que admitan mascotas? ¿Para un albergue que se encuentra a menos de 5 km del centro de la ciudad? ¿Está combinando vuelos, y puede garantizar que el viajero tendrá tiempo suficiente para ir de un aeropuerto a otro ... puede vender el transporte por adelantado? Un violonchelista famoso no quiere separarse de su precioso violonchelo del siglo XVIII; ¿Puedes venderle otro asiento para el violonchelo (sí, no inventando este)?
¿Quieres comparar precios? Claro, la habitación cuesta 30 EUR por noche. Pero puede obtener una doble por 30 y una individual por 20, o puede obtener una cama extra en una doble y obtener un 70% de descuento para la tercera persona. Pero solo si es un niño menor de 12 años; nuestras camas supletorias no son para adultos. Y no obtiene el precio de la cama supletoria en los resultados de búsqueda, solo cuando calcula el precio final.
Y ni siquiera me hagas empezar con el embalaje dinámico. ¿Quiere vender alojamiento + alquiler de coches? No hay problema; integre con dos proveedores diferentes, y listo ... actualización manual de la lista de ubicaciones en la ciudad (del proveedor de alquiler de coches) para que coincida con los hoteles (del proveedor de alojamiento, que le proporciona solo la ciudad para cada hotel). Por supuesto, siempre que ya haya coincidido con la lista de ciudades de las dos, ya que no existe un estándar internacional para los códigos de ciudades.
A diferencia de muchas otras industrias que tienen muchos productos, la industria de viajes tiene muchos productos muy complejos. Amazon lo tiene fácil; vender libros y vender patatas, es lo mismo; incluso puedes enviarlos en la misma caja. Se combinan fácilmente y no se ensamblan a partir de muchas partes. :)
PD: Enlace a un interesante hilo reciente en Hacker News con información privilegiada sobre vuelos . PPS Recientemente me encontré con una gran publicación de blog, aunque bastante antigua, sobre el protocolo NDC de la IATA con una descripción general de cómo está conectada la industria de viajes y una lección de historia sobre cómo llegó a ser .
Usan un paquete de software como ITA Software , que es una de las empresas que Google está en proceso de recoger.
fuente
Solo conozco 3 formas de obtener datos de sitios web.
Fuentes RSS: utilizamos muchas fuentes rss en mi empresa para integrar los datos del sitio existente con nuestras aplicaciones. Es rápido y la mayoría de los sitios ya tienen una fuente RSS disponible. El problema con esto es que no todos los sitios implementan el estándar RSS correctamente, por lo que si está extrayendo datos de muchos canales RSS en muchos sitios, asegúrese de escribir su código para que pueda agregar excepciones y filtros fácilmente.
API: son buenas si están bien diseñadas y tienen toda la información que necesita, sin embargo, no siempre es así, además, si los sitios no utilizan un formato de API estándar, tendrá que admitir varias API.
Web Scraping: este método sería el menos confiable y el más costoso de mantener. Pero si no te queda nada más, puedes hacerlo.
fuente
Travelport ofrece un producto llamado "API universal" que se conecta a vuelos, hoteles y empresas de alquiler de coches y hace frente a ofertas de paquetes y todas las diversas complejidades relacionadas con impuestos y tipos de cambio:
https://developer.travelport.com/app/developer-network/resource-centre-uapi
Recién comencé a usarlo y parece estar bien hasta ahora. Las consultas son un poco lentas, pero también lo es cada consulta en el sitio de cada OTA (agente de viajes en línea).
fuente
Este artículo dice que se le pidió a Kayak que dejara de eliminar la página de una determinada aerolínea. Eso me lleva a creer que probablemente hagan raspaduras en sitios con los que no tienen una relación (y una fuente de datos que viene con esa relación).
fuente
Hay dos buenas API que encontré recientemente en sitios web de comparación de vuelos
Hay uno de Wego y otro de Skyscanner . Ambos parecen tener una buena variedad y amplitud de datos de varias aerolíneas y también una buena documentación.
Wego paga cada vez que un usuario hace clic desde su aplicación a un sitio web de reservas y Skyscanner paga a los afiliados el 50% de los 'ingresos' (supongo que eso significa la comisión que obtienen de las aerolíneas)
fuente
Esta es una publicación antigua, pero pensé en agregar. Soy un arquitecto de datos que trabaja para una empresa que alimenta estos sitios de viajes con contenido. Esta empresa celebra contratos con muchas marcas de hoteles, hoteles individuales y otros proveedores de contenido. Agregamos esta información y luego la pasamos a los diferentes canales. Luego se agregan nuevamente a su sistema. Los sistemas Large GDS también son proveedores de contenido. La agregación se realiza mediante muchos métodos ... algoritmos coincidentes (internos) y claves. Al ser un servicio de agregación, necesitamos comunicarnos a nivel de cliente.
¡Espero que esto ayude! ¡salud!
fuente