¿Cómo un sitio como kayak.com agrega contenido? [cerrado]

82

Saludos, he estado jugando con una idea para un nuevo proyecto y me preguntaba si alguien tiene alguna idea de cómo un servicio como Kayak.com puede agregar datos de tantas fuentes con tanta rapidez y precisión. Más específicamente, ¿cree que Kayak.com está interactuando con API o están rastreando / rastreando sitios web de aerolíneas y hoteles para satisfacer las solicitudes de los usuarios? Sé que no hay una respuesta correcta para este tipo de cosas, pero tengo curiosidad por saber qué piensan otros que sería una buena manera de hacerlo. Si te ayuda, imagina que mañana vas a crear kayak.com ... ¿de dónde vienen tus datos?

Jeff
fuente

Respuestas:

146

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 .

Domchi
fuente
Domchi, ¿ha cambiado mucho esto este año? ¿Hay otras API disponibles ahora?
Rizwan Kassim
No, no mucho; el mercado está fragmentado y es poco probable que esto cambie pronto, o nunca. Un evento notable es la entrada de Google en el mercado de vuelos (a través del software ITA, consulte la respuesta de mavrcks); tienen los recursos para consolidar el mercado y ofrecer API, pero dudo que eso sea lo que pretenden / puedan hacer. En el mundo de las startups, el contendiente más interesante es probablemente airbnb.com, pero hasta ahora no ofrecen API. Las API de este dominio no son difíciles de encontrar, pero rara vez son gratuitas. Consulte programmableweb.com/apitag/booking y programmableweb.com/apitag/travel para obtener una buena lista de API.
Domchi
¿Estás diciendo que Kayak.com busca contenido en los sitios de las aerolíneas y no tiene que pagar por ello? ¿Qué pasa con su modelo de negocio que les permite hacer eso? Los términos de uso de las principales aerolíneas parecen decir que uno no puede extraer contenido / datos de su sitio para usarlo en otro sitio.
Ryan Bales
@Ryan No puedo decir lo que hace Kayak, pero sé que la mayoría de las aerolíneas de bajo costo no ofrecen API para impulsar las ventas exclusivamente a través de sus sitios web y aumentar las ventas tanto como puedan. Entonces, a su vez, los agregadores desechan sus sitios web y simulan la interacción del usuario. En respuesta, las aerolíneas cambian con frecuencia la estructura del sitio web y el juego del gato y el ratón continúa. Me imagino que es bastante difícil para los operadores demostrar que esto sucede, pero lo saben y probablemente no quieran evitarlo por completo, ya que quieren el tráfico que de otro modo no obtendrían.
Domchi
@Domchi ¿cómo es legal lo que estás describiendo? Por lo que he leído, el web scraping se ha considerado ilegal en varios casos judiciales relacionados con datos de aerolíneas, listados de eBay y otros (especialmente para uso comercial de dichos datos).
Justin Skiles
7

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.

Jeff Busby
fuente
4

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).

Tim Cooper
fuente
¿Cuál es el costo de usar la API universal?
Amit
1
He olvidado. Una tarifa única de miles de dólares más una tarifa anual de miles de dólares, creo.
Tim Cooper
¿La API universal está disponible para dispositivos móviles?
iSrinivasan27
3

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).

Jake Wilson
fuente
2

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)

Jonathon Blok
fuente
4
FYI Wego también cobra $ 1000 USD por año por el privilegio de usar su API.
Sk446
Correcto. Además, más allá de mi publicación (como sé un poco más ahora), Skyscanner paga por clic de salida de la misma manera que lo hace Wego.
Jonathon Blok
¿Sabe si Skyscanner tiene algún plan para la búsqueda de hoteles, ya que parece que solo hacen vuelo / automóvil en este momento?
Sk446
2
Hola, equipo de la API de Skyscanner. Hoteles está en las obras. Visite business.skyscanner.net si desea hablar sobre el uso de cualquiera de nuestras API (vuelos, alquiler de automóviles, hoteles).
Skyscanner
Acabo de comprobar SkyScanner. Los nuevos desarrolladores no tienen valor para ellos. ¡No puede usar su API de vuelos a menos que su sitio genere al menos 200,000 visitas únicas al mes! ¡Patético!
Hajjat
0

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!

Krdls
fuente