kayak.com과 같은 사이트는 어떻게 콘텐츠를 집계합니까? [닫은]


82

안녕하세요, 저는 새로운 프로젝트에 대한 아이디어를 가지고 놀았고 Kayak.com과 같은 서비스가 수많은 소스의 데이터를 빠르고 정확하게 집계 할 수있는 방법에 대해 누군가가 알고 있는지 궁금합니다. 더 구체적으로, Kayak.com이 API와 상호 작용하고 있거나 사용자 요청을 이행하기 위해 항공사 및 호텔 웹 사이트를 크롤링 / 스크래핑하고 있다고 생각하십니까? 나는 이런 종류의 일에 대한 정답이 하나도 없다는 것을 알고 있지만 다른 사람들이 이것에 대해 좋은 방법이라고 생각하는 것을 알고 싶습니다. 도움이된다면 내일 kayak.com을 만들 것이라고 가정하십시오. 데이터는 어디에서 오는가?

답변:


146

저는 여행 업계에서 귀하가 설명하는 정확한 종류의 프로젝트에 대한 소프트웨어 설계자 / 프로젝트 리더로 일하고 있습니다. 우리 지역에서는 공급 업체와 직접 협력하지만, 나가는 경우에는 여러 애그리 게이터와 연결합니다.

당신의 질문에 답하기 위해 ... 당신이 가지고있는 일부 데이터, 다양한 방법으로 얻을 수있는 일부, 그리고 일부는 고문 할 때까지 고문하고 비틀어 야합니다.

당신의 각도는 무엇입니까?

물어봐야 할 질문은 ... 카약과 같은 광고를 판매하고 싶습니까 아니면 익스 피디아와 같은 광고를 하시겠습니까? 검색이나 여행 서비스 판매에 관심이 있습니까? 틈새 시장 (예 : 항공 여행) 또는 모든 것 (숙박, 항공사, 렌터카, 교통 / 관광 / 회의 등의 추가 서비스)을 타겟팅합니까? 지역 (미국 또는 미국 일부) 또는 전 세계를 타겟팅합니까? 얼마나 깊이 이동합니까? 단일 화면에 여러 사이트를 표시합니까, 아니면 여러 서비스를 함께 묶어 동적으로 패키징합니까?

데이터 얻기

Kayak 비즈니스 모델을 사용하는 경우 기술적으로 사이트의 허가가 필요하지 않지만 많은 사이트에는 IFrames 또는 다른 간단한 방법으로 고객을 사이트로 안내하는 제휴 프로그램이 있습니다. 장점으로는 지불 / 불만 및 여행자 스스로 처리 할 필요가 없습니다. 단점은 ... 직접 가격을 비교하고 가장 저렴한 옵션을 사용자에게 제공하려면 더 깊은 수준에서 통합해야하며 이는 API와 웹 스크래핑을 의미합니다.

웹 스크래핑은 ... 피하십시오. 짜증 난다. 정말. 그냥 하지마. 이것에 대해 저를 믿으십시오. 예를 들어, 웹 스크래핑 없이는 얻을 수없는 저렴한 비용과 같은 것들이 있습니다. 저가 항공사는 부가가치 서비스를 기반으로합니다. 사용자가 자신의 웹 사이트를 볼 수 없다면 추가로 물건을 팔지 않고 아무것도 얻지 못합니다. 따라서 제휴사가없고 API를 제공하지 않으며 사이트 레이아웃을 거의 지속적으로 변경합니다. 그러나 웹 사이트를 스크랩하여 멋진 API로 래핑하여 생계를 유지하는 회사가 있습니다. 여유가 있다면 사용자에게 저가 항공편의 비용 비교를 제공 할 수 있으며 이는 엄청납니다.

반면에 API를 제공하는 "일반적인"이동 통신사가 있습니다. 항공사는 모두 IATA 하에 통합되어 있기 때문에 항공사에 도착하는 것은 그리 큰 문제가 아닙니다 . 기본적으로 IATA에서 구매하면 IATA가 돈을 이동 통신사에 분배합니다. 그러나 통신사 네트워크에 직접 연결하고 싶지는 않을 것입니다. 요즘에는 웹 서비스와 SOAP가 있지만 80es 스타일 프로토콜을 사용하는 메인 프레임과 상호 작용할 수있는 텍스트 프롬프트 주위에 엄청나게 얇은 래퍼 인 SOAP 프로토콜이 있다고 말할 때 믿습니다 (유닉스를 생각하면 명령 당 요금이 청구되는 위치에 메시지가 표시되며 한 번의 검색을 수행하는 데 약 20 개의 명령이 필요합니다. 그렇기 때문에 더 나은 API를 사용하여 먹이 사슬의 아래쪽에있는 누군가와 연결하고 싶을 것입니다.

따라서 항공사는 가우시안 곡선의 두 극단에 있습니다. 한쪽에는 개별 공급 업체가 있고 다른 하나의 중앙 집중식 시스템에서는 하나의 API를 구현하고 전 세계 어디에서나 비행 할 수 있습니다. 숙박과 나머지 여행 상품은 그 사이에 있습니다. 호텔을 집계하는 여러 대기업과 스펙트럼의 일부만 다루는 집계자가 많은 소규모 공급 업체가 많습니다. 예를 들어 등대를 빌릴 수 있는데 그렇게 비싸지는 않지만 한 곳에서 다른 등대의 가격을 비교할 수는 없습니다.

Kayak 비즈니스 모델에 관심이 있다면 아마도 웹 사이트를 스크래핑하게 될 것입니다. 다른 공급자를 통합하는 경우 API를 사용하는 경우가 많으며, 그중 일부는 꽤 좋고 대부분은 허용 할 수 있습니다. RSS로 작업 한 적은 없지만 RSS와 웹 스크래핑 사이에는 큰 차이가 없습니다. Jeff의 대답에 언급되지 않은 네 번째 옵션도 있습니다. 예를 들어 FTP 등을 통해 .CSV 파일과 같이 야간에 데이터를 가져 오는 옵션입니다.

인생은 짜증나

그리고 복잡성이 있습니다. 추가하려는 가치가 많을수록 처리해야하는 복잡성이 증가합니다. 애완 동물이 허용되는 숙소를 검색 할 수 있습니까? 타운 센터에서 5km 미만 거리에있는 호스텔을 찾으 시나요? 항공편을 결합하고 있으며 여행자가 한 공항에서 다른 공항으로 이동할 수있는 충분한 시간을 보장 할 수 있습니까? 교통편을 미리 판매 할 수 있습니까? 유명한 첼리스트는 그의 귀중한 18 세기 첼로에서 헤어지기를 원하지 않습니다. 그에게 첼로를위한 다른 자리를 팔 수 있습니까?

가격을 비교하고 싶으십니까? 물론입니다. 객실 요금은 1 박당 EUR 30입니다. 하지만 30 인용 더블 1 개와 20 인용 싱글 1 개를 받거나 더블 침대 1 개를 추가하고 세 번째 사람에게 70 % 할인을받을 수 있습니다. 그러나 12 세 미만의 어린이 인 경우에만 해당됩니다. 엑스트라 베드는 성인용이 아닙니다. 그리고 검색 결과에서 엑스트라 베드 가격을 알 수 없습니다. 최종 가격을 계산할 때만 가능합니다.

그리고 동적 패키징을 시작하지 마십시오. 숙박 + 렌트카 판매를 원하십니까? 문제 없어요; 두 개의 서로 다른 제공 업체와 통합하고 이동 중 ... (렌트카 제공 업체에서) 호텔과 일치하도록 도시의 위치 목록을 수동으로 업데이트합니다 (각 호텔의 도시 만 제공하는 숙박 업체 제공 업체). 물론, 도시 코드에 대한 국제 표준이 없기 때문에 이미 두 도시의 목록을 일치 시켰다면 말입니다.

상품이 많은 다른 산업과 달리 여행 산업은 매우 복잡한 상품이 많습니다. 아마존은 쉽습니다. 책을 파는 것과 감자를 파는 것도 똑같습니다. 같은 상자에 넣어 배송 할 수도 있습니다. 그들은 쉽게 결합되고 많은 부품으로 조립되지 않습니다. :)

PS 비행에 관한 내부 정보 와 함께 Hacker News의 흥미로운 최근 스레드에 연결 . PPS는 최근 IATA의 NDC 프로토콜에 대한 다소 오래된 블로그 게시물에 여행 산업이 어떻게 연결되어 있는지에 대한 개요와 이것이 어떻게 탄생했는지에 대한 역사 교훈을 우연히 발견했습니다 .


돔치, 올해 많이 바뀌 었나요? 현재 사용 가능한 다른 API가 있습니까?
Rizwan Kassim 2011

아니요, 많이는 아닙니다. 시장은 파편화되어 있으며 조만간 바뀔 것 같지 않습니다. 주목할만한 사건은 Google이 항공편 시장에 진입하는 것입니다 (ITA 소프트웨어를 통해, mavrcks 답변 참조). 그들은 시장을 통합하고 API를 제공 할 수있는 자원을 가지고 있지만 그것이 그들이 의도 / 할 수있는 일인지 의심 스럽습니다. 스타트 업 세계에서 가장 흥미로운 경쟁자는 아마도 airbnb.com 이지만 지금까지는 API를 제공하지 않습니다. 이 도메인의 API는 찾기 어렵지 않지만 거의 무료입니다. 좋은 API 목록은 programmableweb.com/apitag/bookingprogrammableweb.com/apitag/travel 을 확인하십시오 .
Domchi

Kayak.com이 콘텐츠를 위해 항공사 사이트를 스크랩하고 비용을 지불 할 필요가 없다는 말입니까? 그들의 비즈니스 모델은 어떨까요? 주요 항공사의 이용 약관에 따르면 다른 사이트에서 사용하기 위해 자신의 사이트에서 콘텐츠 / 데이터를 스크랩 할 수 없습니다.
Ryan Bales 2012

@Ryan Kayak이 무엇을하는지 말할 수는 없지만 대부분의 저가 항공사는 웹 사이트를 통해 독점적으로 판매를 유도하고 가능한 한 많이 상향 판매하기 위해 API를 제공하지 않는다는 것을 알고 있습니다. 따라서 애그리 게이터는 웹 사이트를 스크랩하고 사용자 상호 작용을 시뮬레이션합니다. 이에 대응하여 항공사는 웹 사이트 구조를 자주 변경하고 고양이와 쥐의 게임은 계속됩니다. 나는 이것이 진행되고 있다는 것을 통신 사업자가 증명하는 것이 매우 어렵다고 상상할 수 있지만, 그들은 그것에 대해 알고 있으며, 그렇지 않으면 얻지 못할 트래픽을 원하기 때문에 아마 그것을 방지하고 싶지 않을 것입니다.
Domchi

@Domchi 당신이 합법적으로 묘사하는 것은 어떻습니까? 내가 읽은 바에 따르면 웹 스크래핑은 항공사 데이터, 이베이 목록 및 기타 (특히 해당 데이터의 상업적 사용을위한)와 관련된 다양한 법원 소송에서 불법으로 간주되었습니다.
Justin Skiles 2015


7

웹 사이트에서 데이터를 얻는 방법은 세 가지뿐입니다.

RSS 피드-우리는 회사에서 RSS 피드를 많이 사용하여 기존 사이트의 데이터를 앱과 통합합니다. 빠르고 대부분의 사이트에는 이미 RSS 피드가 있습니다. 이 문제는 모든 사이트가 RSS 표준을 올바르게 구현하는 것은 아니므로 여러 사이트의 많은 RSS 피드에서 데이터를 가져 오는 경우 예외 및 필터를 쉽게 추가 할 수 있도록 코드를 작성해야합니다.

API-잘 설계되고 필요한 모든 정보를 가지고 있으면 좋지만 항상 그런 것은 아니며 사이트가 표준 API 형식을 사용하지 않는 경우 여러 API를 지원해야합니다.

웹 스크래핑-이 방법은 유지 관리 비용이 가장 높을뿐만 아니라 가장 신뢰할 수없는 방법입니다. 하지만 아무것도 남지 않았다면 할 수 있습니다.


4

Travelport는 항공편, 호텔 및 렌터카 회사에 연결하고 패키지 거래 및 세금 및 환율과 관련된 모든 다양한 복잡성을 처리하는 "Universal API"라는 제품을 제공합니다.

https://developer.travelport.com/app/developer-network/resource-centre-uapi

방금 사용하기 시작했고 지금까지는 괜찮아 보입니다. 쿼리는 약간 느리지 만 모든 OTA (온라인 여행사) 사이트의 모든 쿼리도 마찬가지입니다.


Universal API 사용 비용은 얼마입니까?
Amit

1
깜빡했습니다. 낮은 천 단위의 일회성 비용과 낮은 천 단위의 연회비를 더한 것 같습니다.
Tim Cooper

모바일에서 범용 API를 사용할 수 있습니까?
iSrinivasan27

3

이 기사 는 Kayak이 특정 항공사 페이지 스크랩을 중지하도록 요청 받았다고 말합니다. 그것은 그들이 관계가없는 사이트 (그리고 그 관계와 함께 제공되는 데이터 피드)에서 스크래핑을 할 것이라고 믿게합니다.


2

최근 비행 비교 웹 사이트에서 찾은 두 가지 좋은 API가 있습니다.

하나있다 저희 , 그리고 하나 스카이 스캐너 . 둘 다 여러 항공사의 데이터 범위와 폭이 넓고 문서도 좋은 것 같습니다.

Wego는 사용자가 귀하의 앱에서 예약 웹 사이트로 이동할 때마다 지불하고 Skyscanner는 제휴사에 '수익'의 50 %를 지불합니다 (이는 항공사로부터받는 수수료를 의미한다고 가정합니다).


4
FYI Wego는 API 사용 권한에 대해 연간 $ 1000 USD를 청구합니다.
Sk446

옳은. 또한 내 게시물 (이제 조금 더 알고 있음)에서 Skyscanner와 같은 방식으로 종료 클릭당 지불합니다.
Jonathon Blok

스카이 스캐너가 지금 비행기 / 자동차 만하는 것처럼 보이는 호텔 검색 계획이 있는지 알고 계십니까?
Sk446 2014-06-04

2
안녕하세요, Skyscanner API 팀입니다. 호텔이 작동 중입니다. API (항공편, 렌터카, 호텔) 사용에 대해 논의하려면 business.skyscanner.net을 방문하십시오 .
Skyscanner 대한민국

방금 SkyScanner를 확인했습니다. 새로운 개발자는 그들에게 가치가 없습니다. 귀하의 사이트에서 한 달에 최소 200,000 회의 고유 방문이 발생하지 않는 한 항공편 API를 사용할 수 없습니다! 서투른!
Hajjat

0

이것은 오래된 게시물이지만 추가 할 것이라고 생각했습니다. 저는 이러한 여행 사이트에 콘텐츠를 제공하는 회사에서 일하는 데이터 설계자입니다. 이 회사는 많은 호텔 브랜드, 개별 호텔 및 기타 콘텐츠 제공 업체와 계약을 체결합니다. 이 정보를 집계 한 다음 다른 채널로 전달합니다. 그런 다음 시스템에 다시 통합됩니다. 대형 GDS 시스템도 콘텐츠 제공 업체입니다. 집계는 알고리즘 (사내)과 키를 일치시키는 등 여러 방법으로 수행됩니다. 집계 서비스이기 때문에 클라이언트 수준에서 통신해야합니다.

도움이 되었기를 바랍니다! 건배!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.