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 .