gpt4 book ai didi

api - 像 kayak.com 这样的网站如何聚合内容?

转载 作者:行者123 更新时间:2023-12-02 20:57:06 26 4
gpt4 key购买 nike

关闭。这个问题需要更多focused .它目前不接受答案。












想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post .

5年前关闭。




Improve this question




问候,
我一直在琢磨一个新项目的想法,想知道是否有人知道像 Kayak.com 这样的服务如何能够如此快速准确地聚合来自这么多来源的数据。更具体地说,您认为 Kayak.com 是在与 API 交互还是在抓取/抓取航空公司和酒店网站以满足用户请求?我知道这类事情没有一个正确的答案,但我很想知道其他人认为什么是解决这个问题的好方法。如果有帮助,假设您明天要创建 kayak.com ……您的数据来自哪里?

最佳答案

我在旅游行业担任软件架构师/项目负责人,负责您所描述的项目类型——在我们地区,我们直接与供应商合作,但对于外出,我们连接到几个聚合器。

回答你的问题……有些数据是你拥有的,有些是你通过各种方式获得的,有些你必须折磨和扭曲直到它坦白。

你的角度是什么?

您必须问的问题是……您是想像 Kayak 那样销售广告,还是像 Expedia 那样切分?您是搜索还是销售旅游服务?您的目标是利基市场(例如,只是航空旅行)还是一切(住宿、航空公司、租车、交通/观光/ session 等附加服务)?您的目标是地区(美国或美国的一部分)还是世界?你能走多远——你只是在一个屏幕上显示几个站点,还是将不同的服务捆绑在一起并动态打包?

获取数据

如果您采用 Kayak 商业模式,从技术上讲,您不需要网站的许可……但是很多网站都有带有 IFrame 的联盟计划或其他简单的方法来将客户引导到他们的网站。从好的方面来说,您不必自己处理付款/投诉和旅客。至于缺点……如果您想自己比较价格并向用户展示最便宜的选项,则必须在更深层次上进行集成,这意味着 API 和网络抓取。

至于网络抓取...避免它。糟透了。真的。只是不要这样做。相信我这一点。例如,如果没有网络抓取,您将无法获得诸如低成本之类的东西。低成本航空公司靠增值服务为生。如果用户没有看到他们的网站,他们就不会出售额外的东西,也不会赚取任何收入。因此,他们没有附属机构,他们不提供 API,而且他们几乎不断地改变他们的网站布局。然而,有些公司通过网络抓取低成本网站并将它们包装成漂亮的 API 来谋生。如果您负担得起,您可以为您的用户提供低成本航类的成本比较,这是巨大的。

另一方面,有提供 API 的“普通”运营商。去航空公司不是什么大问题,因为他们都在 IATA 下联合起来;基本上,您从 IATA 购买,然后 IATA 将钱分配给运营商。但是,您可能不想直接连接到运营商网络。现在他们有 Web 服务和 SOAP,但是当我说有 SOAP 协议(protocol)只是围绕文本提示的一个非常薄的包装器时,请相信我,通过它您可以与具有 80es 风格协议(protocol)的大型机进行交互(想想 Unix提示您按命令计费的位置;执行一次搜索大约需要 20 个命令)。这就是为什么您可能希望通过更好的 API 与食物链下游的某个人建立联系。

因此,航空公司处于高斯曲线的两个极端;一方面是个体供应商,另一方面是高度集中的系统,在那里你实现一个 API,你就可以飞到世界任何地方。住宿和其他旅游产品介于两者之间。有几家大型酒店聚合酒店,还有大量小型供应商和许多聚合器,它们仅涵盖了一部分频谱。例如,您可以租一个灯塔,它甚至不会那么贵——但您将无法在一个地方比较不同灯塔的价格。

如果您采用 Kayak 商业模式,您可能最终会抓取网站。如果您要集成不同的提供者,您会经常使用 API,其中一些非常好,而其中大部分是可以接受的。我没有使用过 RSS,但 RSS 和网页抓取之间没有太大区别。 Jeff 的回答中还没有提到第四个选项……您每晚获取数据的地方,例如通过 FTP 和类似的 .CSV 文件。

生活糟透了(小咆哮)

然后是复杂性。您想要添加的值(value)越多,您必须处理的复杂性就越大。您可以搜索允许携带宠物的住宿吗?对于距离市中心不到 5 公里的旅馆?你是组合航类吗,你能保证旅客有足够的时间从一个机场到另一个机场……你能提前卖掉交通工具吗?一位著名的大提琴家不想离开他珍贵的 18 世纪大提琴;你能再卖给他一个大提琴座位吗(是的,不是自己编的)?

想比较价格?当然,房间是每晚 30 欧元。但您可以选择 30 人入住一张双人床和 20 人一张单人床,或者您可以在一张双人床中加一张床,并为第三人提供 70% 的折扣。但仅限于 12 岁以下的 child ;我们的加床不适用于成人。而且您不会在搜索结果中看到加床价格 - 只有在您计算最终价格时才会显示。

甚至不要让我开始使用动态包装。想卖房+租车?没问题;与两个不同的提供商集成,然后就可以了...手动更新城市中的位置列表(来自租车提供商)以匹配酒店(来自住宿提供商,他们只为您提供每家酒店的城市)。当然,前提是您已经匹配了两者中的城市列表,因为城市代码没有国际标准。

与其他许多产品众多的行业不同,旅游业有许多非常复杂的产品。亚马逊很容易;卖书卖土 bean ,是一回事;您甚至可以将它们装在同一个盒子里。它们很容易组合并且不是由许多部件组装而成。 :)

附言与一些 insider info regarding flights 链接到 Hacker News 上一个有趣的近期主题.
P.P.S.最近在 IATA's NDC protocol with overview of how travel industry is connected and a history lesson how this came to be 上偶然发现了一篇虽然很旧但很棒的博文.

关于api - 像 kayak.com 这样的网站如何聚合内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4607141/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com