使用酒店价格比较 API 使用 Python 查找酒店价格2025年1月11日 | 阅读 4 分钟 在本教程中,我们将使用Python编程语言通过酒店价格比较API来编写查找酒店价格的程序。我们将使用Makcorps酒店API。 此API用于获取JSON数据,并有助于比较来自1500多个网站(如oyo.com、Hotels.com、Agoda.com、Expedia等)的酒店价格、评分和评论。它有助于检索有关任何酒店或任何城市的有关价格、评分、评论、历史价格以及许多其他方面的信息。 我们需要获取API密钥才能在本地计算机上使用它,可以从https://www.makcorps.com/获取。 注意-用户必须在makcorps.com上创建,然后,只有注册用户才能使用API。我们已注册,并将使用登录凭据连接API。 所需模块我们需要requests模块来处理makcorps API。如果您没有requests模块,请在终端中键入以下命令。 pip install requests 开始使用MakCorps API此API旨在提供来自200多个供应商(如Booking.com、Agoda.com、Expedia和Hotels.com)的评论、价格、评分等数据。在实施之前,我们需要记住以下步骤-
如何获取JWT令牌?要获取JWT令牌,API会暴露/auth端点。我们需要在请求体中传递用户名和密码。 实施我们需要向API提供城市名称来搜索酒店价格。假设我们搜索城市德里,输出的JSON将是该城市不同酒店来自不同供应商的价格比较以及它们的名称。以下是代码实现。 示例 - 输出 price comparison data for a random date of city london is: {'comparison': [ { 'vendor1-price': 'US$217', 'vendor3-price': 'US$246', 'vendor2-price': 'US$217', 'vendor3': 'travelup.com', 'vendor1': 'Travelocity', 'Hotel': 'Park Plaza Westminster Bridge London', 'Best-price': 'US$\xa0246US$\xa0215Booking.com', 'vendor2': 'Orbitz.com' }, { 'vendor1-price': '', 'vendor3-price': '', 'vendor2-price': '', 'vendor3': 'Travelocity', 'vendor1': 'Expedia.com', 'Hotel': 'Travelodge London Covent Garden', 'Best-price': 'US$\xa074Travelodge', 'vendor2': 'Hotels.com' }, { 'vendor1-price': 'US$167', 'vendor3-price': 'US$183', 'vendor2-price': 'US$171', 'vendor3': 'Nustay.com', 'vendor1': 'ParkGrandLondon', 'Hotel': 'Park Grand London Kensington', 'Best-price': 'US$\xa0170Booking.com', 'vendor2': 'Travelocity' }, { 'vendor1-price': '', 'vendor3-price': '', 'vendor2-price': '', 'vendor3': 'Orbitz.com', 'vendor1': 'Expedia.com', 'Hotel': 'Travelodge London City hotel', 'Best-price': 'US$\xa056Travelodge', 'vendor2': 'Nustay.com' }, { 'vendor1-price': 'US$205', 'vendor3-price': 'US$232', 'vendor2-price': 'US$185', 'vendor3': 'ZenHotels.com', 'vendor1': 'Booking.com', 'Hotel': 'The Tower Hotel', 'Best-price': 'US$\xa0206Orbitz.com', 'vendor2': 'Trip.com' }, { 'vendor1-price': 'US$77', 'vendor3-price': 'US$94', 'vendor2-price': 'US$87', 'vendor3': 'Nustay.com', 'vendor1': 'Official Site', 'Hotel': 'Point A Hotel, London Kings Cross St Pancras', 'Best-price': 'US$\xa087Orbitz.com', 'vendor2': 'Booking.com' }, { 'vendor1-price': 'US$224', 'vendor3-price': 'US$242', 'vendor2-price': 'US$217', 'vendor3': 'travelup.com', 'vendor1': 'Orbitz.com', 'Hotel': 'Strand Palace Hotel', 'Best-price': 'US$\xa0223Booking.com', 'vendor2': 'ZenHotels.com' } ] } 解释 - 在上面的代码中,我们导入了requests模块,并将请求URL赋值给req_url变量。我们还为city变量赋值了要搜索的城市名称。然后我们完成URL地址并将其存储在complete_url变量中。我们调用给定URL上的get方法并传递header。header必须包含我们从/auth API获取的JWT令牌。API返回响应,我们将其JSON格式数据转换为Python格式代码。现在我们检查状态码的值是否等于200,如果相等则表示记录已找到,否则表示记录未找到。因此,我们返回了获取的结果。 结论在本教程中,我们学习了如何获取酒店价格并进行比较。Makcorps API将帮助选择所搜索城市中价格最低的酒店。 下一个主题开始使用RabbitMQ和Python |
在 Python 中,分类变量是一种可以取有限数量可能值之一的变量。这些值通常是非数字的,用于表示分为类别或组的数据。分类变量也称为名义变量...
阅读 3 分钟
有数百种用于检验假设的统计检验。然而,机器学习项目只需要其中少数几种。在本教程中,我们将看到一些最重要的假设检验,如果想从事......工作,就必须知道。
14 分钟阅读
我们都听说过Python中的数据结构,以及它们如何在编程和开发工作中帮助我们。简单来说,我们可以说数据结构是一种在设备或系统中组织数据的特定方式,以便使用...
阅读 13 分钟
在本教程中,我们将讨论运算符重载、其优点以及如何重载“+”运算符。在讨论 __add__ 方法之前,让我们了解什么是运算符重载。运算符重载使我们能够为现有运算符创建定义,以便我们可以使用...
阅读 3 分钟
? 集合和列表是 Python 中的数据结构,由数据元素组组成。但是,这两种数据结构也存在一些显著差异。具体来说,列表执行少量数学运算,这些运算对于搜索特定元素很有用 -...
阅读 4 分钟
Bokeh是Python的一个交互式数据可视化库。它使用HTML和JavaScript语言创建其绘图。其基本目标是现代网站浏览器,用于呈现所提供的优雅、简洁地构建具有高性能交互性的新颖图形。bokeh库用于在...上绘制字形。
阅读 4 分钟
在本教程中,我们将了解机器人系统(框架)。我们将涵盖标准库和基本功能。接下来,我们还将涵盖测试、关键字、组件,最后是测试的编排。Robot Framework 是一个通用的开源自动化框架,用于 ATTD(验收测试驱动开发)、验收测试……
阅读9分钟
在本文中,我们将讨论Python编程语言中的Git模块,用户如何在Python项目中使用它。我们还将讨论用户如何与GitHub结合使用Git模块,以便我们能够处理大型项目...
阅读 10 分钟
在本教程中,我们将学习如何使用 Matplotlib 在子图中包含图例。创建图后可以使用 legend() 函数添加图例。语法:子图中图例的语法是:axes[position].legend(loc = ''),其中 loc 用于位置。方法:以下是我们将介绍的方法...
阅读 3 分钟
? Python 中的 Selenium Selenium 是一个开源的 Python 框架,它提供了一个 API,用于使用 Selenium 编写功能测试。它用于 Web 应用程序的跨浏览器测试。各种脚本语言支持此库,如 Python、Java、Node.js、C# 和 Ruby。Selenium 旨在驱动浏览器并...
阅读 4 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India