Як такий сайт, як kayak.com, сукупний вміст? [зачинено]


83

З привітанням, я бавився з ідеєю нового проекту і цікавився, чи хтось уявляє, як така служба, як Kayak.com, здатна так швидко та точно об’єднувати дані з багатьох джерел. Більш конкретно, чи вважаєте ви, що Kayak.com взаємодіє з API, чи вони скануються / скаблюють веб-сайти авіакомпаній та готелів, щоб задовольнити запити користувачів? Я знаю, що немає жодної правильної відповіді на подібні речі, але мені цікаво знати, що, на думку інших, було б гарним способом зробити це. Якщо це допоможе, зробіть вигляд, що завтра збираєтеся створити kayak.com ... звідки беруться ваші дані?

Відповіді:


147

Я працюю в туристичній індустрії архітектором програмного забезпечення / проектом, який керує саме тим проектом, який ви описуєте - у нашому регіоні ми працюємо безпосередньо з постачальниками, але для вихідних ми підключаємося до кількох агрегаторів.

Щоб відповісти на ваше запитання ... деякі дані у вас є, деякі ви отримуєте різними способами, а деякі вам доводиться катувати і крутити, поки вони не зізнаються.

Який ваш кут?

Запитання, які ви повинні задати, такі ... Ви хочете продавати рекламу, як на байдарках, або робити скорочення, як Expedia? Ви шукаєте чи продаєте туристичні послуги? Ви націлюєтесь на нішу (наприклад, просто авіаперевезення) або все (проживання, авіакомпанії, прокат автомобілів, додаткові послуги, такі як транспорт / екскурсії / конференції тощо)? Ви націлюєтесь на регіон (США чи частину США) або світ? Наскільки глибоко ти заглиблюєшся - ти просто показуєш кілька сайтів на одному екрані, або ти об’єднуєш різні послуги разом і динамічно їх упаковуєш?

Отримання даних

Якщо ви збираєтеся використовувати бізнес-модель Kayak, технічно вам не потрібен дозвіл сайту ... але багато сайтів мають партнерські програми з IFrames або іншими простими способами спрямувати клієнта на свій сайт. Позитивом є те, що вам не доведеться мати справу з платежами / скаргами та самими мандрівниками. Що стосується мінусів ... якщо ви хочете самостійно порівняти ціни і представити користувачеві найдешевший варіант, вам доведеться інтегрувати на більш глибокому рівні, а це означає API та веб-скрапінг.

Що стосується вишкрібання павутини ... уникайте цього. Це відстій. Дійсно. Тільки не роби цього. Повірте мені на це. Наприклад, деякі речі, такі як лоукостери, яких ви не можете отримати без вискоблювання веб-сторінок. Бюджетні авіакомпанії живуть із послуг із доданою вартістю. Якщо користувач не бачить свій веб-сайт, він не продає зайвих речей і нічого не заробляє. Тому у них немає афілійованих осіб, вони не пропонують API і майже постійно змінюють макет свого сайту. Однак є компанії, які заробляють на життя, витираючи веб-сайти lowcoster та обертаючи їх у приємні API. Якщо ви можете собі їх дозволити, ви можете дати своїм користувачам порівняння витрат на дешеві рейси, і це величезно.

З іншого боку, існують "звичайні" оператори, які пропонують API. Дістатися до авіакомпаній не така велика проблема, оскільки всі вони об’єднані в рамках IATA ; в основному, ви купуєте в IATA, і IATA розподіляє гроші перевізникам. Однак ви, мабуть, не хочете підключатися безпосередньо до мережі оператора. У них сьогодні є веб-сервіси та SOAP, але повірте мені, коли я кажу, що існують протоколи SOAP, які є просто шалено тонкими обгортками навколо текстової підказки, за допомогою яких ви можете взаємодіяти з мейнфреймом за протоколом у стилі 80-х (подумайте про Unix запит, де вам виставляється рахунок за команду; і для виконання одного пошуку потрібно близько 20 команд). Ось чому ви, мабуть, хочете підключитися до когось трохи нижчого за харчовим ланцюгом, з кращим API.

Таким чином, авіакомпанії знаходяться в обох крайностях кривої Гаусса; з одного боку - окремі постачальники, а з іншого - централізовані системи, де ви впроваджуєте один API, і ви можете літати в будь-яку точку світу. Проживання та решта товарів для подорожей між ними. Є кілька великих гравців, які об'єднують готелі, і маса невеликих постачальників з великою кількістю агрегаторів, які охоплюють лише частину спектру. Наприклад, ви можете взяти в оренду маяк, і це навіть не так дорого - але ви не зможете порівняти ціни на різні маяки в одному місці.

Якщо ви любите бізнес-модель на байдарках, ви, мабуть, закінчите скрабувати веб-сайти. Якщо ви хочете інтегрувати різні провайдери, ви часто будете працювати з API, деякі з яких досить непогані, а більшість з них терпимі. Я не працював з RSS, але немає великої різниці між RSS та веб-скрапінгом. Є також четвертий варіант, про який не згадується у відповіді Джефа ... той, де ви отримуєте свої дані щоночі, наприклад .CSV-файли через FTP та подібні.

Життя відстій (міні-рант)

І тоді є складність. Чим більше цінності ви хочете додати, тим більше складності вам доведеться обробляти. Чи можете ви шукати помешкання, де можна розмістити домашніх тварин? Хостел, який знаходиться менш ніж за 5 км від центру міста? Чи поєднуєте ви рейси, і чи можете ви гарантувати, що у мандрівника буде достатньо часу, щоб дістатися з одного аеропорту до іншого ... чи можете ви продати транспорт заздалегідь? Відомий віолончеліст не хоче розлучатися зі своєю дорогоцінною віолончеллю 18 століття; ти можеш продати йому інше місце для віолончелі (так, не вигадуючи цього)?

Хочете порівняти ціни? Звичайно, вартість 30 євро за ніч. Але ви можете або отримати одне двоспальне на 30, і одне одномісне на 20, або ви можете отримати одне додаткове ліжко на двоспальне та отримати знижку 70% для третьої особи. Але тільки якщо це дитина до 12 років; наші додаткові ліжка не для дорослих. І ви не отримаєте ціну за додаткове ліжко в результатах пошуку - лише тоді, коли розрахуєте остаточну ціну.

І навіть не давайте мені починати з динамічної упаковки. Хочете продати житло + оренда автомобіля? Нема проблем; інтегруйтеся з двома різними постачальниками, і ви йдете ... вручну оновлюючи список місць у місті (від постачальника автомобілів, що займаються прокатом автомобілів) відповідно до готелів (від постачальника послуг розміщення, який надає вам лише місто для кожного готелю). Звичайно, за умови, що ви вже зіставили перелік міст із двох, оскільки не існує міжнародного стандарту кодів міст.

На відміну від багатьох інших галузей, що мають багато продуктів, туристична галузь має багато дуже складних продуктів. Amazon це легко; продавати книги і продавати картоплю - це те саме; Ви навіть можете відправити їх в одній коробці. Вони легко поєднуються і не збираються з багатьох деталей. :)

PS Посилання на цікаву недавню тему новин Hacker з деякою внутрішньою інформацією щодо польотів . Нещодавно PPS натрапив на великий, хоч і досить старий допис у блозі про протокол NDC IATA з оглядом того, як пов'язана туристична індустрія, та уроком історії, як це сталося .


Домчі, чи багато що змінилося цього року? Чи доступні зараз інші API?
Rizwan Kassim

Ні, не багато; ринок роздроблений, і це навряд чи скоро зміниться, якщо взагалі коли-небудь. Помітна подія - вихід Google на ринок польотів (через програмне забезпечення ITA, див. Відповідь mavrcks); вони мають ресурси для консолідації ринку та пропонування API, але я сумніваюся, що це те, що вони мають намір / здатні зробити. У світі стартапів найцікавішим претендентом є, мабуть, airbnb.com, але поки що вони не пропонують API. API у цьому домені важко знайти, але рідко вони безкоштовні. Перевірте хороший список API для programmableweb.com/apitag/booking та programmableweb.com/apitag/travel .
Domchi

Ви хочете сказати, що Kayak.com видаляє сайти авіакомпаній на вміст і не повинен за це платити? Що щодо їхньої бізнес-моделі, яка дозволяє їм це робити? Умови використання для основних авіакомпаній, схоже, говорять про те, що неможливо зішкребти вміст / дані з їх сайту для використання на іншому сайті.
Райан Бейлс

@Ryan Я не можу сказати, чим займається "Каяк", але я знаю, що більшість бюджетних авіакомпаній не пропонують жодних API, щоб стимулювати продажі виключно через свої веб-сайти та максимально продавати. Тож, у свою чергу, агрегатори скасовують свої веб-сайти та імітують взаємодію користувачів. У відповідь авіакомпанії часто змінюють структуру веб-сайту, і гра в кота-мишку триває. Я міг би уявити, що перевізникам досить важко довести, що так триває, але вони знають про це і, мабуть, не хочуть взагалі запобігати цьому, оскільки хочуть трафік, який інакше не отримали б.
Домчі,

@Domchi, як те, що ви описуєте, є законним? З того, що я вже прочитав, викрабування веб-сторінок було визнано незаконним у різних судових справах стосовно даних авіакомпаній, списків ebay та інших (особливо для комерційного використання зазначених даних).
Джастін Скілз,


7

Я знаю лише 3 способи отримання даних із веб-сайтів.

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?
Аміт

1
Я забув. Одноразова плата за низькі тисячі плюс річна плата за низькі тисячі, я думаю.
Тім Купер

Чи доступний універсальний API для мобільних пристроїв?
iSrinivasan27

uAPI використовує протокол SOAP. Для діапазону IP-адрес немає обмежень, але я б не інтегрував облікові дані API у загальнодоступні мобільні програми. Створіть власне проміжне програмне забезпечення для захисту облікових даних. support.travelport.com/webhelp/uapi/uapi.htm
gavenkoa

3

У цій статті сказано, що Каяку було запропоновано припинити обробку певної сторінки авіакомпаній. Це змушує мене думати, що вони, напевно, роблять скрапінг на сайтах, з якими вони не мають стосунків (і стрічка даних, що додається до цих відносин).


2

Нещодавно я знайшов два хороших API

Є один із Вего та один із Skyscanner . Здається, обидва мають великий діапазон і широту даних від ряду авіакомпаній, а також хорошу документацію.

Wego сплачує кожен раз, коли користувач натискає ваш додаток на веб-сайт бронювання, а Skyscanner виплачує філіям 50% "доходу" (я припускаю, це означає комісію, яку вони отримують від авіакомпаній)


4
FYI Wego також стягує 1000 доларів США на рік за привілей використання їх API.
Sk446

Правильно. Крім того, далі до мого допису (як я зараз знаю трохи більше), Skyscanner платить за клік виходу так само, як це робить Wego.
Джонатан Блок,

2
Привіт, команда команди API Skyscanner тут. Готелі в розробці. Будь ласка, відвідайте business.skyscanner.net, якщо ви хочете обговорити використання будь-якого з наших API (рейси, прокат автомобілів, готелі).
Skyscanner

1
Щойно перевірив SkyScanner. Нові розробники для них нічого не варті. Ви не можете використовувати їх API польоту, якщо ваш сайт не приносить щонайменше 200 000 унікальних відвідувань на місяць! Пафосно!
Хаджат

1
Минуло 4 роки, а @Skyscanner досі не надає готельний API.
над

1

Це стара публікація, але я думав, що просто додам. Я архітектор даних, який працює у компанії, яка годує ці туристичні сайти вмістом. Ця компанія укладає контракти з багатьма готельними брендами, окремими готелями та іншими постачальниками контенту. Ми збираємо цю інформацію, а потім передаємо її по різних каналах. Потім вони знову агрегуються у свою систему. Великі системи GDS також є постачальниками вмісту. Агрегація здійснюється багатьма методами ... алгоритмами узгодження (власними) та ключами. Будучи службою агрегування, нам потрібно спілкуватися на рівні клієнта.

Сподіваюся, це допомагає! ура!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.