【发布时间】:2016-06-19 18:54:00
【问题描述】:
我正在开展一个大型项目,该项目涉及创建一个包含丰富数据的全球酒店数据库,例如地址、图片、描述、政策、坐标、设施、评论、当地描述及其便利设施等。
我正在寻找一个公共酒店 API,我可以在其中检索数据并运行(最好是 RESTful)对特定位置和可用房间的实时查询,然后我可以让我的客户进行预订。
任何人都可以分享此类项目的经验、知识和可能的指导方针,哪些 API 是合适的以及最佳实践是什么?
【问题讨论】:
标签: api
我正在开展一个大型项目,该项目涉及创建一个包含丰富数据的全球酒店数据库,例如地址、图片、描述、政策、坐标、设施、评论、当地描述及其便利设施等。
我正在寻找一个公共酒店 API,我可以在其中检索数据并运行(最好是 RESTful)对特定位置和可用房间的实时查询,然后我可以让我的客户进行预订。
任何人都可以分享此类项目的经验、知识和可能的指导方针,哪些 API 是合适的以及最佳实践是什么?
【问题讨论】:
标签: api
在搜索酒店 API 时,我发现只有一个 API 可以不受限制地开放访问他们的酒店数据库并允许您预订他们的酒店:
Expedia 的 EAN http://developer.ean.com/
您需要签署他们的联属网络营销计划,这非常容易。 您可以立即访问他们的酒店数据库,还可以使用多种响应选项(包括 JSON)发出可用性/预订请求,它比(不幸的是)更广泛的 XML 更方便和轻量级。
当您立即访问他们的 API 时,您可以开始开发和测试,但仍然需要他们的批准才能启动该网站,基本上是为了确保它提供所需的质量和安全性,这是合理的。
他们还提供“深度链接”,即您可以通过添加参数来自定义您的请求。然后,如果它足以满足您的目的(对我来说不是),您甚至不需要将它们的内容存储在您的服务器上。
我还签署了 HotelsCombined 计划: (链接已删除,因为该站点似乎不允许我放置更多链接)
但是,即使进行测试,它们也不会立即允许您使用它们的 API。从他们的回答中:
“对于给您带来的不便,我们深表歉意,但限制访问我们丰富的酒店内容只是一个商业决定。请在接下来的 2-3 个月内回来查看,我们将能够判断您的流量,进而判断您的流量判断您在标准数据馈送中的状态。”
我还签署了 Booking.com 联属计划: (链接已删除,因为该站点似乎不允许我放置更多链接)
不幸的是,他们再次限制访问,从他们的回答: “请注意,由于 XML 集成涉及大量时间和成本,因此我们只能将 XML 集成提供给少数具有高潜力的合作伙伴。”
我没有探索 Tripadvisor,因为他们似乎只提供排名前 10 位的酒店并且仅作为小部件提供,但对我来说最重要的是,他们不允许通过它们进行预订。
我检查了上面提到的hotelbase.org,他们的列表非常广泛,但不如 Expedia 丰富,而且他们似乎没有图片,也不允许预订。
【讨论】:
我之前使用过 TripAdvisor API,它非常适合我。它会为每个目的地返回最受好评的酒店列表,以及检索评论、照片、附近餐厅和其他一些有用信息的选项。
http://www.tripadvisor.com/help/what_type_of_tripadvisor_content_is_available
来自 API 页面(可用的 API 内容):
* Hotel, attraction and restaurant ratings and reviews
* Top 10 lists of hotels, attractions and restaurants in a destination
* Traveler photos of a destination
* Travelers' Choice award badges for hotels and destinations
要扩展 @nstehr 的答案,您还可以使用 Yahoo Pipes 来促进更精细的本地搜索。转到pipes.yahoo.com 并搜索现有的酒店管道,你就会明白..
【讨论】:
HotelsCombined 提供易于访问且有用的服务,可下载酒店的数据馈送文件。不完全是 API,而是您可以获得、解析和使用的东西。以下是你的做法:
如果您对细节感兴趣,您可以在此处找到示例 Python 代码来过滤 CSV 文件以获取特定城市的酒店:
http://mikhail.io/2012/05/17/api-to-get-the-list-of-hotels/
更新:
很遗憾,HotelsCombined.com 推出了新规定:默认情况下,他们限制了对数据馈送的访问。为了获得访问权限,合作伙伴必须提交一些关于为什么需要数据的信息。 HC 团队将对其进行审核,然后(可能)授予访问权限。
【讨论】:
您可能会尝试使用 Yahoo 或 Google 的 API。它们是通用的,但通过指定正确的参数集,您可能会将结果范围缩小到酒店。查看Yahoo's Local Search API 和Google's Local Search API
【讨论】:
查看 api.hotelsbase.org - 它是一个免费的 xml 酒店 api 目前还没有图片
【讨论】:
api.hotelsbase.org打不开。连hotelsbase.org都不可用。
经过几天的搜索,找到了 EAN API - http://developer.ean.com/ - 这是一个非常大的 API,但它提供了非常好的信息。免费演示,XML\JSON 格式。看起来不错。
【讨论】: