我正在开展一个大型项目,涉及创建一个包含地址,图像,描述,政策,坐标,设施,评论,当地区域描述及其设施等丰富数据的全球酒店数据库.
我正在寻找一个公共酒店API,我可以检索数据并运行(最好是RESTful)特定位置和可用房间的实时查询,然后我可以让我的客户进行预订.
任何人都可以分享这样一个项目的经验,知识和可能的指导方针,哪些API适用,哪些是最佳实践?
在我搜索酒店API时,我发现只有一个API可以不受限制地打开酒店数据库并允许您预订酒店:
Expedia的EAN http://developer.ean.com/
你需要签署他们的联盟计划,这很容易.您可以立即访问他们的酒店数据库,并且您可以通过多种响应选项(包括JSON)提供可用性/预订请求,这比(不幸的)更广泛的XML更方便和轻量级.
当您立即访问他们的API时,您可以开始开发和测试,但仍然需要他们的批准来启动该站点,基本上是为了确保它提供所需的质量和安全性,这是合理的.
它们还提供"深层链接",即您可以通过添加参数来自定义您的请求.然后,如果它足以满足您的目的(因为它不是),您甚至不需要将其内容存储在您的服务器上.
我还签署了HotelsCombined计划:(链接删除,因为这个网站似乎没有让我放更多的链接)
但是,它们不会立即允许您使用其API进行测试.从他们的答案:
"对由此带来的不便表示歉意,但这仅仅是限制访问我们丰富的酒店内容的商业决定.请在接下来的2-3个月内回来查看,我们将能够判断您的流量,并依次判断您的状态标准数据源."
我还签了Booking.com联盟计划:(链接删除,因为这个网站似乎不让我放更多的链接)
不幸的是,他们再次限制访问,他们的回答是:"请注意,由于XML集成涉及大量时间和成本,我们只能向少数合作伙伴提供XML集成.高潜力."
我没有探索Tripadvisor,因为他们似乎只提供十大酒店而且仅作为小部件,但对我来说最重要的是,他们不允许通过它们进行预订.
我已经检查了上面提到的hotelbase.org,它们有非常广泛的列表,但没有Expedia那么丰富,它们似乎也没有图像,也不允许预订.
我之前使用过的是Google 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提供易于访问且有用的服务,可以通过酒店下载数据Feed文件.不完全是API,但你可以得到,解析和使用.这是你如何做到的:
请访问http://www.hotelscombined.com/Affiliates.aspx
在那里注册(不需要公司或银行数据)
打开"数据Feed"页面
选择"标准数据源" - >"单个文件" - >"CSV格式"(您也可以获得XML)
如果您对详细信息感兴趣,可以在此处找到示例Python代码来过滤CSV文件以获取特定城市的酒店:
http://mikhail.io/2012/05/17/api-to-get-the-list-of-hotels/
更新:
不幸的是,HotelsCombined.com引入了新法规:默认情况下,他们限制了对数据源的访问.要获得访问权限,合作伙伴必须提交有关为何需要数据的一些信息.HC团队将对其进行审核,然后(可能)将授予访问权限.
您可能尝试使用Yahoo或Google的API.它们是通用的,但通过指定正确的参数集,您可以将结果范围缩小到只是酒店.查看Yahoo的Local Search API和Google的Local Search API