Pracuję w branży turystycznej jako architekt oprogramowania / kierownik projektu przy dokładnie takim projekcie, jaki opisujesz - w naszym regionie współpracujemy bezpośrednio z dostawcami, ale w przypadku wyjazdów łączymy się z kilkoma agregatorami.
Odpowiadając na twoje pytanie ... niektóre dane, które posiadasz, niektóre zdobywasz na różne sposoby, a niektóre musisz torturować i przekręcać, aż się przyzna.
Jaki jest twój kąt?
Pytania, które musisz sobie zadać, to ... Chcesz sprzedawać reklamy, takie jak Kajak, czy wolisz obniżać ceny jak Expedia? Interesujesz się wyszukiwaniem lub sprzedażą usług turystycznych? Czy celujesz w niszę (na przykład tylko podróże lotnicze) czy wszystko (zakwaterowanie, linie lotnicze, wynajem samochodów, dodatkowe usługi, takie jak transport / zwiedzanie / konferencje itp.)? Czy kierujesz reklamy na region (Stany Zjednoczone lub część Stanów Zjednoczonych) czy na cały świat? Jak głęboko się posuwasz - czy po prostu wyświetlasz kilka witryn na jednym ekranie, czy też łączysz razem różne usługi i pakujesz je dynamicznie?
Pobieranie danych
Jeśli wybierasz model biznesowy Kayak, z technicznego punktu widzenia nie potrzebujesz pozwolenia witryny ... ale wiele witryn ma programy stowarzyszone z ramkami IFrame lub innymi prostymi sposobami kierowania klienta do ich witryny. Z drugiej strony nie musisz zajmować się płatnościami / reklamacjami i samymi podróżnymi. Jeśli chodzi o wady ... jeśli chcesz samodzielnie porównać ceny i przedstawić użytkownikowi najtańszą opcję, będziesz musiał zintegrować się na głębszym poziomie, a to oznacza interfejsy API i skrobanie sieci.
Jeśli chodzi o skrobanie sieci ... unikaj tego. To jest do bani. Naprawdę. Po prostu tego nie rób. Zaufaj mi ten raz. Na przykład niektóre rzeczy, takie jak lowcosters, których nie można uzyskać bez skrobania sieci. Tanie linie lotnicze żyją z usług dodanych. Jeśli użytkownik nie widzi swojej witryny, nie sprzedaje dodatkowych rzeczy i nic nie zarabia. Dlatego nie mają partnerów, nie oferują interfejsów API i prawie nieustannie zmieniają układ swojej witryny. Są jednak firmy, które zarabiają na życie, przeglądając strony internetowe lowcoster i pakując je w ładne interfejsy API. Jeśli możesz sobie na to pozwolić, możesz dać użytkownikom porównanie kosztów tanich lotów, a to jest ogromne.
Z drugiej strony istnieją „normalni” przewoźnicy, którzy oferują API. Nie jest to duży problem, aby dostać się do linii lotniczych, ponieważ wszystkie są zjednoczone w ramach IATA ; zasadniczo kupujesz od IATA, a IATA rozprowadza pieniądze wśród przewoźników. Jednak prawdopodobnie nie chcesz łączyć się bezpośrednio z siecią operatora. W dzisiejszych czasach mają usługi sieciowe i SOAP, ale wierz mi, kiedy powiem, że istnieją protokoły SOAP, które są po prostu szalenie cienkimi opakowaniami wokół monitu tekstowego, przez który można wchodzić w interakcję z komputerem mainframe z protokołem w stylu lat 80-tych (pomyśl o Uniksie pytaj, gdzie naliczana jest opłata za polecenie; a wykonanie jednego wyszukiwania zajmuje około 20 poleceń). Dlatego prawdopodobnie chcesz połączyć się z kimś znajdującym się nieco dalej w łańcuchu pokarmowym, z lepszym API.
Linie lotnicze znajdują się zatem na obu krańcach krzywej Gaussa; z jednej strony są indywidualni dostawcy, az drugiej wysoce scentralizowane systemy, w których wdrażasz jeden interfejs API i możesz latać w dowolne miejsce na świecie. Zakwaterowanie i pozostałe produkty turystyczne znajdują się pomiędzy. Jest kilku dużych graczy, którzy agregują hotele i mnóstwo małych dostawców z wieloma agregatorami, które obejmują tylko część spektrum. Na przykład możesz wynająć latarnię morską i nawet nie jest ona droga - ale nie będziesz w stanie porównać cen różnych latarni w jednym miejscu.
Jeśli interesujesz się modelem biznesowym Kayak, prawdopodobnie skończysz na skrobaniu stron internetowych. Jeśli chcesz integrować różnych dostawców, często będziesz pracować z interfejsami API, z których niektóre są całkiem dobre, a większość z nich można tolerować. Nie pracowałem z RSS, ale nie ma dużej różnicy między RSS a skrobaniem sieci. Jest też czwarta opcja, o której nie ma mowy w odpowiedzi Jeffa ... ta, w której co noc pobierasz dane, na przykład pliki .CSV przez FTP i tym podobne.
Życie jest do bani (mini-rant)
A potem jest złożoność. Im większą wartość chcesz dodać, tym większą złożoność będziesz musiał sobie poradzić. Czy możesz szukać zakwaterowania, w którym akceptowane są zwierzęta? Dla hostelu położonego mniej niż 5 km od centrum miasta? Czy łączysz loty i czy jesteś w stanie zagwarantować, że podróżny będzie miał wystarczająco dużo czasu, aby dostać się z jednego lotniska na drugie ... czy możesz sprzedać transport z wyprzedzeniem? Słynny wiolonczelista nie chce rozstać się ze swoją cenną XVIII-wieczną wiolonczelą; czy możesz sprzedać mu inne miejsce na wiolonczelę (tak, nie wymyślając tego)?
Chcesz porównać ceny? Jasne, pokój kosztuje 30 EUR za noc. Ale możesz dostać jedno podwójne za 30 i jedno pojedyncze za 20, lub możesz dostać jedno dodatkowe łóżko w podwójnym i otrzymać 70% zniżki dla trzeciej osoby. Ale tylko jeśli jest to dziecko w wieku poniżej 12 lat; nasze dodatkowe łóżka nie są przeznaczone dla osób dorosłych. A ceny za dodatkowe łóżko nie znajdziesz w wynikach wyszukiwania - tylko wtedy, gdy obliczysz ostateczną cenę.
I nawet nie zaczynaj od dynamicznego pakowania. Chcesz sprzedać zakwaterowanie + wynajem samochodu? Nie ma problemu; zintegruj się z dwoma różnymi dostawcami i gotowe ... ręcznie aktualizuj listę lokalizacji w mieście (od wypożyczalni samochodów) do hoteli (od dostawcy, który podaje tylko miasto dla każdego hotelu). Oczywiście pod warunkiem, że już dopasowałeś listę miast z tych dwóch, ponieważ nie ma międzynarodowego standardu kodów miast.
W przeciwieństwie do wielu innych branż, które mają wiele produktów, branża turystyczna ma wiele bardzo złożonych produktów. Amazon ma to łatwe; sprzedaż książek i sprzedaż ziemniaków to to samo; możesz nawet wysłać je w tym samym pudełku. Łatwo się łączą i nie składają się z wielu części. :)
PS Odnośnik do ciekawego, niedawnego wątku w Hacker News, zawierający informacje poufne dotyczące lotów . PPS Niedawno natknąłem się na świetny, choć raczej stary post na blogu na temat protokołu NDC IATA, zawierający przegląd powiązań branży turystycznej i lekcję historii, jak to się stało .
Korzystają z pakietu oprogramowania, takiego jak ITA Software , który jest jedną z firm, które Google jest w trakcie wybierania.
źródło
Znam tylko 3 sposoby uzyskiwania danych ze stron internetowych.
Kanały RSS - w mojej firmie często korzystamy z kanałów RSS, aby zintegrować istniejące dane witryny z naszymi aplikacjami. Jest szybki i większość witryn ma już dostępny kanał RSS. Problem z tym nie polega na tym, że nie wszystkie witryny poprawnie implementują standard RSS, więc jeśli pobierasz dane z wielu źródeł RSS w wielu witrynach, upewnij się, że piszesz kod, aby móc łatwo dodawać wyjątki i filtry.
Interfejsy API - są fajne, jeśli są dobrze zaprojektowane i zawierają wszystkie potrzebne informacje, jednak nie zawsze tak jest, a jeśli witryny nie używają standardowego formatu API, będziesz musiał obsługiwać wiele interfejsów API.
Skrobanie sieci - ta metoda byłaby najbardziej zawodna i najdroższa w utrzymaniu. Ale jeśli nie masz nic innego, możesz to zrobić.
źródło
Travelport oferuje produkt o nazwie „Universal API”, który łączy się z lotami, hotelami i wypożyczalniami samochodów oraz radzi sobie z ofertami pakietowymi i wszystkimi różnymi problemami związanymi z podatkami i kursami wymiany:
https://developer.travelport.com/app/developer-network/resource-centre-uapi
Właśnie zacząłem go używać i na razie wydaje się w porządku. Zapytania są trochę powolne, ale tak samo jest z każdym zapytaniem w każdej witrynie OTA (internetowego biura podróży).
źródło
Ten artykuł mówi, że Kayak został poproszony o zaprzestanie złomowania określonej strony linii lotniczych. To prowadzi mnie do przekonania, że prawdopodobnie dokonują skrobania w witrynach, z którymi nie mają związku (i źródła danych, które pochodzą z tego związku).
źródło
Niedawno znalazłem dwa dobre interfejsy API w witrynach porównujących loty
Jest jeden od Wego i jeden od Skyscanner . Obydwa wydają się mieć dobry zakres i szeroki zakres danych z wielu linii lotniczych, a także dobrą dokumentację.
Wego płaci za każdym razem, gdy użytkownik przejdzie z Twojej aplikacji na stronę rezerwacyjną, a Skyscanner płaci 50% „przychodów” (zakładam, że oznacza to prowizję, jaką otrzymują od linii lotniczych)
źródło
To jest stary post, ale pomyślałem, że po prostu dodam. Jestem architektem danych i pracuję dla firmy, która dostarcza treści do tych witryn turystycznych. Ta firma zawiera umowy z wieloma markami hotelowymi, indywidualnymi hotelami i innymi dostawcami treści. Gromadzimy te informacje, a następnie przekazujemy je do różnych kanałów. Następnie ponownie gromadzą się w swoim systemie. Duże systemy GDS są również dostawcami treści. Agregacja jest wykonywana wieloma metodami ... algorytmami dopasowującymi (wewnętrznymi) i kluczami. Będąc usługą agregacji, musimy komunikować się na poziomie klienta.
Mam nadzieję że to pomoże! Twoje zdrowie!
źródło