Ich arbeite in der Reisebranche als Softwarearchitekt / Projektleiter an genau der Art von Projekt, die Sie beschreiben. In unserer Region arbeiten wir direkt mit Lieferanten zusammen, aber für ausgehende Verbindungen verbinden wir uns mit mehreren Aggregatoren.
Um Ihre Frage zu beantworten ... einige Daten haben Sie, einige erhalten Sie auf verschiedene Weise, und einige müssen Sie foltern und verdrehen, bis sie gestehen.
Was ist dein Blickwinkel?
Die Fragen, die Sie stellen müssen, sind ... Möchten Sie Werbung wie Kayak verkaufen oder einen Schnitt wie Expedia machen? Sind Sie auf der Suche oder im Verkauf von Reisedienstleistungen? Zielen Sie auf Nischen (z. B. nur Flugreisen) oder auf alles (Unterkunft, Fluggesellschaften, Mietwagen, zusätzliche Dienstleistungen wie Transport / Besichtigungen / Konferenzen usw.)? Zielen Sie auf die Region (USA oder Teile der USA) oder die Welt? Wie tief gehen Sie - zeigen Sie nur mehrere Websites auf einem einzigen Bildschirm an oder bündeln Sie verschiedene Dienste und packen sie dynamisch?
Daten abrufen
Wenn Sie sich für das Geschäftsmodell von Kayak entscheiden, benötigen Sie technisch gesehen keine Website-Erlaubnis. Viele Websites verfügen jedoch über Partnerprogramme mit IFrames oder andere einfache Möglichkeiten, um den Kunden auf seine Website zu leiten. Auf der positiven Seite müssen Sie sich nicht mit Zahlungen / Beschwerden und Reisenden selbst befassen. Was die Nachteile angeht ... Wenn Sie die Preise selbst vergleichen und dem Benutzer die günstigste Option präsentieren möchten, müssen Sie sie auf einer tieferen Ebene integrieren, und das bedeutet APIs und Web Scraping.
Was das Web-Scraping betrifft ... vermeiden Sie es. Es nervt. Ja wirklich. Tu es einfach nicht. Vertrau mir dieses mal. Zum Beispiel einige Dinge wie niedrige Kosten, die Sie nicht ohne Web Scraping bekommen können. Billigfluggesellschaften leben von Mehrwertdiensten. Wenn der Benutzer seine Website nicht sieht, verkauft er keine zusätzlichen Inhalte und verdient nichts. Daher haben sie keine Partner, bieten keine APIs an und ändern ihr Site-Layout fast ständig. Es gibt jedoch Unternehmen, die ihren Lebensunterhalt damit verdienen, die Websites von Lowcoster im Internet zu kratzen und sie in nette APIs zu verpacken. Wenn Sie sie sich leisten können, können Sie Ihren Benutzern einen Kostenvergleich von Billigflügen geben, und das ist enorm.
Andererseits gibt es "normale" Carrier, die APIs anbieten. Es ist kein so großes Problem, zu Fluggesellschaften zu gelangen, da sie alle unter der IATA vereint sind . Grundsätzlich kaufen Sie bei der IATA und die IATA verteilt das Geld an die Spediteure. Sie möchten jedoch wahrscheinlich keine direkte Verbindung zum Carrier-Netzwerk herstellen. Sie haben heutzutage Webdienste und SOAP, aber glauben Sie mir, wenn ich sage, dass es SOAP-Protokolle gibt, die nur wahnsinnig dünne Wrapper um eine Eingabeaufforderung sind, über die Sie mit einem Mainframe mit einem Protokoll im 80er-Stil interagieren können (denken Sie an ein Unix Eingabeaufforderung, wo Sie pro Befehl abgerechnet werden; und es dauert ungefähr 20 Befehle, um eine Suche durchzuführen). Aus diesem Grund möchten Sie wahrscheinlich mit einer besseren API eine Verbindung zu jemandem herstellen, der sich etwas weiter unten in der Nahrungskette befindet.
Die Fluggesellschaften befinden sich somit auf beiden Extremen der Gaußschen Kurve. Auf der einen Seite befinden sich einzelne Lieferanten und auf der anderen Seite stark zentralisierte Systeme, in denen Sie eine API implementieren und überall auf der Welt fliegen können. Die Unterkunft und der Rest der Reiseprodukte liegen dazwischen. Es gibt mehrere große Unternehmen, die Hotels zusammenfassen, und eine Menge kleiner Anbieter mit vielen Aggregatoren, die nur einen Teil eines Spektrums abdecken. Sie können beispielsweise einen Leuchtturm mieten und es ist sogar nicht so teuer - aber Sie können die Preise verschiedener Leuchttürme nicht an einem Ort vergleichen.
Wenn Sie sich für das Geschäftsmodell von Kayak interessieren, werden Sie wahrscheinlich Websites kratzen. Wenn Sie verschiedene Anbieter integrieren möchten, arbeiten Sie häufig mit APIs, von denen einige ziemlich gut und die meisten tolerierbar sind. Ich habe nicht mit RSS gearbeitet, aber es gibt keinen großen Unterschied zwischen RSS und Web Scraping. Es gibt auch eine vierte Option, die in Jeffs Antwort nicht erwähnt wird ... die, bei der Sie Ihre Daten jede Nacht erhalten, zum Beispiel CSV-Dateien über FTP und ähnliches.
Das Leben ist scheiße (Mini-Rant)
Und dann ist da noch Komplexität. Je mehr Wert Sie hinzufügen möchten, desto komplexer müssen Sie umgehen. Können Sie Unterkünfte suchen, in denen Haustiere erlaubt sind? Für ein Hostel, das weniger als 5 km vom Stadtzentrum entfernt liegt? Kombinieren Sie Flüge und können Sie garantieren, dass der Reisende genügend Zeit hat, um von einem Flughafen zum anderen zu gelangen? Können Sie den Transport im Voraus verkaufen? Ein berühmter Cellist möchte sich nicht von seinem kostbaren Cello aus dem 18. Jahrhundert trennen. Kannst du ihm einen anderen Platz für das Cello verkaufen (ja, diesen nicht erfinden)?
Möchten Sie die Preise vergleichen? Sicher, das Zimmer kostet 30 EUR pro Nacht. Aber Sie können entweder ein Doppel für 30 und ein Einzel für 20 bekommen, oder Sie können ein Zustellbett in einem Doppel bekommen und 70% Rabatt für die dritte Person bekommen. Aber nur, wenn es sich um ein Kind unter 12 Jahren handelt. Unsere Zustellbetten sind nicht für Erwachsene. Und Sie erhalten den Preis für ein Zustellbett nicht in den Suchergebnissen - nur wenn Sie den Endpreis berechnen.
Und lassen Sie mich nicht einmal mit dynamischen Verpackungen anfangen. Möchten Sie Unterkunft + Mietwagen verkaufen? Kein Problem; Integrieren Sie sich in zwei verschiedene Anbieter, und los geht's ... manuelle Aktualisierung der Liste der Standorte in der Stadt (vom Mietwagenanbieter), um sie mit den Hotels abzugleichen (vom Unterkunftsanbieter, der Ihnen nur die Stadt für jedes Hotel angibt). Vorausgesetzt natürlich, Sie haben bereits die Liste der Städte der beiden Städte abgeglichen, da es keinen internationalen Standard für Stadtcodes gibt.
Im Gegensatz zu vielen anderen Branchen mit vielen Produkten hat die Reisebranche viele sehr komplexe Produkte. Amazon hat es einfach; Bücher verkaufen und Kartoffeln verkaufen, das ist das Gleiche; Sie können sie sogar in derselben Box versenden. Sie lassen sich leicht kombinieren und sind nicht aus vielen Teilen zusammengesetzt. :) :)
PS Link zu einem interessanten aktuellen Thread in den Hacker News mit einigen Insider-Informationen zu Flügen . PPS stolperte kürzlich über einen großartigen, wenn auch ziemlich alten Blogpost zum NDC-Protokoll der IATA mit einem Überblick über die Vernetzung der Reisebranche und einer Geschichtsstunde, wie dies zustande kam .
Sie verwenden ein Softwarepaket wie ITA Software , eines der Unternehmen, das Google derzeit auf den Markt bringt.
quelle
Ich kenne nur drei Möglichkeiten, um Daten von Websites abzurufen.
RSS-Feeds - In meinem Unternehmen verwenden wir häufig RSS-Feeds, um die Daten der vorhandenen Site in unsere Apps zu integrieren. Es ist schnell und auf den meisten Websites ist bereits ein RSS-Feed verfügbar. Das Problem dabei ist, dass nicht alle Sites den RSS-Standard ordnungsgemäß implementieren. Wenn Sie also Daten aus vielen RSS-Feeds über viele Sites hinweg abrufen, schreiben Sie Ihren Code, damit Sie problemlos Ausnahmen und Filter hinzufügen können.
APIs - Diese sind nützlich, wenn sie gut gestaltet sind und alle benötigten Informationen enthalten. Dies ist jedoch nicht immer der Fall. Wenn die Websites kein Standard-API-Format verwenden, müssen Sie mehrere APIs unterstützen.
Web Scraping - Diese Methode ist sowohl unzuverlässig als auch teuer in der Wartung. Aber wenn Sie nichts anderes mehr haben, können Sie es tun.
quelle
Travelport bietet ein Produkt namens "Universal API" an, das eine Verbindung zu Flügen und Hotels sowie Mietwagenfirmen herstellt und mit Pauschalangeboten und all den verschiedenen Komplexitäten im Zusammenhang mit Steuern und Wechselkursen fertig wird:
https://developer.travelport.com/app/developer-network/resource-centre-uapi
Ich habe gerade angefangen, es zu benutzen und es scheint soweit in Ordnung zu sein. Die Abfragen sind etwas langsam, aber auch jede Abfrage auf der Website jedes OTA (Online-Reisebüros).
quelle
Dieser Artikel besagt, dass Kayak gebeten wurde, das Verschrotten einer bestimmten Fluglinienseite einzustellen. Das lässt mich glauben, dass sie wahrscheinlich auf Websites kratzen, zu denen sie keine Beziehung haben (und einen Daten-Feed, der mit dieser Beziehung verbunden ist).
quelle
Es gibt zwei gute APIs, die ich kürzlich auf Flugvergleichs-Websites gefunden habe
Es gibt einen von Wego und einen von Skyscanner . Beide scheinen eine gute Reichweite und Breite von Daten einer Reihe von Fluggesellschaften sowie eine gute Dokumentation zu haben.
Wego zahlt jedes Mal, wenn ein Benutzer von Ihrer App auf eine Buchungswebsite klickt und Skyscanner verbundenen Unternehmen 50% des Umsatzes zahlt (ich gehe davon aus, dass dies die Provision bedeutet, die sie von Fluggesellschaften erhalten).
quelle
Dies ist ein alter Beitrag, aber ich dachte, ich würde nur hinzufügen. Ich bin ein Datenarchitekt, der für ein Unternehmen arbeitet, das diese Reiseseiten mit Inhalten versorgt. Dieses Unternehmen schließt Verträge mit vielen Hotelmarken, einzelnen Hotels und anderen Inhaltsanbietern ab. Wir aggregieren diese Informationen und geben sie dann an die verschiedenen Kanäle weiter. Sie aggregieren dann wieder zu ihrem System. Die Large GDS-Systeme sind auch Inhaltsanbieter. Die Aggregation erfolgt nach vielen Methoden ... Matching-Algorithmen (intern) und Schlüssel. Als Aggregationsdienst müssen wir auf Client-Ebene kommunizieren.
Hoffe das hilft! Prost!
quelle