Je travaille dans l'industrie du voyage en tant qu'architecte logiciel / chef de projet sur le type de projet que vous décrivez précisément - dans notre région, nous travaillons directement avec les fournisseurs, mais pour les départs, nous nous connectons à plusieurs agrégateurs.
Pour répondre à votre question... certaines données que vous avez, certaines que vous obtenez de différentes manières, et certaines que vous devez torturer et tordre jusqu'à ce qu'elles avouent.
Quel est votre angle?
Les questions que vous devez poser sont... Voulez-vous vendre de la publicité comme Kayak ou prendre une commission comme Expedia? Êtes-vous dans la recherche ou la vente de services de voyage? Ciblez-vous un créneau (par exemple, juste les voyages aériens) ou tout (hébergement, compagnies aériennes, location de voitures, services supplémentaires comme les transports/visites/conférences, etc.)? Ciblez-vous la région (États-Unis ou une partie des États-Unis) ou le monde entier? Jusqu'où allez-vous - affichez-vous simplement plusieurs sites sur un seul écran, ou regroupez-vous différents services ensemble et les emballez dynamiquement?
Obtention des données
Si vous optez pour le modèle économique de Kayak, vous n'avez pas techniquement besoin de l'autorisation du site... mais beaucoup de sites ont des programmes d'affiliation avec des IFrame ou d'autres moyens simples de diriger le client vers leur site. Du bon côté, vous n'avez pas à gérer les paiements/plaintes et les voyageurs eux-mêmes. En ce qui concerne les inconvénients... si vous voulez comparer les prix vous-même et présenter l'option la moins chère à l'utilisateur, vous devrez intégrer à un niveau plus profond, et cela signifie des API et du web scraping.
En ce qui concerne le web scraping... évitez-le. C'est nul. Vraiment. Ne le faites pas. Croyez-moi sur ce point. Par exemple, certaines choses comme les compagnies lowcost, vous ne pouvez pas les obtenir sans web scraping. Les compagnies aériennes low cost vivent des services à valeur ajoutée. Si l'utilisateur ne voit pas leur site web, ils ne vendent pas de produits supplémentaires, et ils ne gagnent rien. Par conséquent, ils n'ont pas d'affiliés, ils n'offrent pas d'API et ils changent constamment la présentation de leur site. Cependant, il y a des entreprises qui gagnent leur vie en grattant les sites des compagnies low cost et en les enveloppant dans de belles APIs. Si vous pouvez vous les permettre, vous pouvez offrir à vos utilisateurs une comparaison des vols à bas coûts et c'est énorme.
D'autre part, il y a des transporteurs "normaux" qui offrent des APIs. Ce n'est pas trop compliqué de s'adresser aux compagnies aériennes car elles sont toutes unies sous IATA; en gros, vous achetez chez IATA et IATA distribue l'argent aux transporteurs. Cependant, vous ne voulez probablement pas vous connecter directement au réseau des transporteurs. Ils ont des services web et du SOAP de nos jours, mais croyez-moi quand je dis qu'il existe des protocoles SOAP qui ne sont que des interfaces incroyablement minces autour d'un prompt texte à travers lequel vous pouvez interagir avec un mainframe avec un protocole des années 80 (pensez à un invité Unix où vous êtes facturé par commande; et il faut environ 20 commandes pour effectuer une seule recherche). C'est pourquoi vous voulez probablement vous connecter à quelqu'un un peu plus bas dans la hiérarchie alimentaire, avec une meilleure API.
Les compagnies aériennes sont donc aux deux extrêmes de la courbe de Gauss; d'un côté, il y a des fournisseurs individuels, et de l'autre des systèmes hautement centralisés où vous implémentez une API et pouvez voler n'importe où dans le monde. L'hébergement et le reste des produits de voyage se situent entre les deux. Il y a plusieurs grands acteurs qui agrègent les hôtels, et une tonne de petits fournisseurs avec beaucoup d'agrégateurs qui ne couvrent qu'une partie du spectre. Par exemple, vous pouvez louer un phare et ce n'est même pas si cher - mais vous ne pourrez pas comparer les prix de différents phares au même endroit.
Si vous optez pour le modèle économique de Kayak, vous finirez probablement par gratter les sites web. Si vous travaillez avec l'intégration de différents fournisseurs, vous travaillerez souvent avec des APIs, dont certaines sont assez bonnes, et la plupart sont tolérables. Je n'ai pas travaillé avec les flux RSS, mais il n'y a pas beaucoup de différences entre les flux RSS et le web scraping. Il y a aussi une quatrième option non mentionnée dans la réponse de Jeff... celle où vous obtenez vos données chaque nuit, par exemple des fichiers .CSV via FTP et similaires.
La vie est difficile (mini-rant)
Et puis il y a la complexité. Plus de valeur vous voulez ajouter, plus de complexité vous devrez gérer. Pouvez-vous rechercher des hébergements qui autorisent les animaux de compagnie? Pour une auberge située à moins de 5 km du centre-ville? Associez-vous des vols, et êtes-vous capable de garantir que le voyageur disposera de suffisamment de temps pour passer d'un aéroport à l'autre... pouvez-vous vendre le transport à l'avance? Un célèbre violoncelliste ne veut pas se séparer de son précieux violoncelle du XVIIIe siècle; pouvez-vous lui vendre un autre siège pour le violoncelle (oui, je ne l'invente pas)?
Vous voulez comparer les prix? Bien sûr, la chambre est à 30 EUR par nuit. Mais vous pouvez soit obtenir un double pour 30 et un simple pour 20, soit obtenir un lit supplémentaire dans un double et bénéficier de 70% de réduction pour la troisième personne. Mais seulement s'il s'agit d'un enfant de moins de 12 ans; nos lits supplémentaires ne sont pas pour les adultes. Et vous n'obtenez pas le prix pour le lit supplémentaire dans les résultats de recherche - seulement lorsque vous calculez le prix final.
Et ne me lancez même pas sur le packaging dynamique. Vous voulez vendre un hébergement + une location de voiture? Pas de problème; intégrez-vous avec deux fournisseurs différents, et c'est parti... en mettant à jour manuellement la liste des emplacements dans la ville (du fournisseur de location de voitures) pour correspondre avec les hôtels (du fournisseur d'hébergement, qui ne vous fournit que la ville pour chaque hôtel). Bien sûr, à condition que vous ayez déjà assorti la liste des villes des deux, puisqu'il n'y a pas de standard international pour les codes de ville.
Contrairement à de nombreuses autres industries qui ont de nombreux produits, l'industrie du voyage a de nombreux produits très complexes. Amazon a de la chance; vendre des livres et vendre des pommes de terre, c'est la même chose; vous pouvez même les expédier dans la même boîte. Ils se combinent facilement et ne sont pas assemblés à partir de nombreuses pièces. :)
P.S. Lien vers un fil de discussion récent intéressant sur Hacker News avec des informations internes sur les vols. P.P.S. Récemment tombé sur un excellent blogpost bien que plutôt ancien sur le protocole NDC de l'IATA avec un aperçu de la façon dont l'industrie du voyage est connectée et une leçon d'histoire sur comment cela s'est produit.