【问题标题】:How to get Zomato restaurant ID using restaurant link?如何使用餐厅链接获取 Zomato 餐厅 ID?
【发布时间】:2017-05-27 09:22:16
【问题描述】:

我想了解 Zomato 中一家餐厅的详细信息。我有它的链接作为输入(https://www.zomato.com/mumbai/fantasy-the-cake-shop-kalyan?utm_source=api_basic_user&utm_medium=api&utm_campaign=v2.1)。通过浏览 Zomato API 的文档,我没有找到获取它的方法。

我尝试使用搜索 API 搜索餐厅,但返回的结果很多。

任何帮助将不胜感激

【问题讨论】:

  • 您是在尝试以编程方式获取餐厅 ID,还是只是想找到餐厅的 ID?
  • 我需要使用 zomato 链接的餐厅详细信息......仅此而已
  • 检查源代码对您有帮助吗?您可以查找 res_id。
  • 是的,这是我考虑过的选项...不过想要一个更简单的方法
  • 似乎是现阶段唯一的方法。他们曾经在页面上显示 ID,您可以在其中复制 URL,但似乎不再存在。

标签: zomato-api


【解决方案1】:

查看页面源并搜索window.RES_ID

【讨论】:

    【解决方案2】:

    这是一个两步过程:

    1. 通过 /cities API 找出餐厅的城市 ID,在您的情况下,是孟买的城市 ID。这是一个简单的查询搜索。
    2. 在 /search API 中使用上述 API 调用中的城市 ID,例如 https://developers.zomato.com/api/v2.1/search?entity_type=city&entity_id=3&q=fantasy%20the%20cake%20shop%20kalyan

    这将提供有关餐厅的所有基本信息。

    【讨论】:

      【解决方案3】:

      我遇到了和你描述的一样的问题。这种 Zomato 的 API 方法至少很奇怪。如果您事先不知道 res_id 并且由于 Zomato 会拒绝访问而无法解析,那么几乎不可能获取有关餐厅的任何信息。

      这对我有用:

      1. 从 Zomato API 凭据 (https://developers.zomato.com/api) 获取 user-key
      2. 通过 API (https://developers.zomato.com/api/v2.1/search?entity_id=84&entity_type=city&q=RESTAURANT_URL&category=7%2C9) 搜索餐厅网址。您将越具体,您将获得更好的结果(此 url 由城市指定到 布拉格 (ID = 84) 和类别每日菜单 (ID = 7)Lunch (ID = 9)。如果有可能指定城市、类别或美食,它会有所帮助,但不是必须的。不要忘记在标题中定义 GET 方法。
      3. 循环或过滤 json 结果并搜索所需的 url。您可能需要使用 valueOf() 方法来搜索相同的 url。请注意,您可能需要在所需网址的末尾添加“?utm_source=api_basic_user&utm_medium=api&utm_campaign=v2.1”,使其具有相同的格式。通过 Zomato API 文档页面检查。
      for (i in body.restaurants) {
          var url_wanted = restaurant_url + '?utm_source=api_basic_user&utm_medium=api&utm_campaign=v2.1'
          var url_in_json = body.restaurants[i].restaurant.url;
          if (url_wanted.valueOf() == url_in_json.valueOf()) {
              var restaurant_id = body.restaurants[i].restaurant.id;
          }
          console.log('Voala! We have res_id:' + restaurant_id);
      }
      
      1. 你有它。不过这可能会更容易。

      希望对你有帮助!

      【讨论】:

        【解决方案4】:

        一旦您获得了 rseraunt 页面的 url,您就可以简单地查找名为“window.RES_ID”的 javascript 对象属性,并在 api 调用中进一步使用它。

        【讨论】:

          猜你喜欢
          • 2018-01-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-04-07
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多