【问题标题】:How to find site’s JSON APIs/URLs?如何找到网站的 JSON API/URL?
【发布时间】:2017-08-22 23:59:30
【问题描述】:

我记得遇到过 API/URL,例如:http://www.testsite.com/students.json,它返回一个 JSON 响应,然后在某个地方读到,你可以通过例如找到它。网络标签下的 Chrome 开发工具。

在哪里/如何找到 JSON API/URL?最终会使用 requests 来获取 JSON。

【问题讨论】:

  • 是的,它在网络选项卡中,但 URL 不需要以 .json 结尾
  • 并非每个开发人员都遵循以 API 为中心的方法或希望将 API 公开给其他人。
  • 有些网站没有基于 JSON 的 API,而是为用户使用服务器生成的 HTML 页面。你说的滑板店就是这种情况。
  • 如果您仍想进一步挖掘.. 您可能想抓取页面以获取链接和内容。结帐beautifulsoup
  • @cricket_007 但是,如果我确实想发现该站点使用的任何 API,我会通过 Chrome 开发工具,在“网络”选项卡下进行,对吗?

标签: json rest api http


【解决方案1】:

了解基于 JSON 的 API 的最佳位置是 API 维护者提供的文档。通常,希望客户使用其 API 的维护人员会提供文档。有时,他们构建了一个可导航的 API,其中响应具有指向其 API 的其他资源的 http 链接,并且不提供明确的文档。如果他们这样做,那可以称为隐式文档。

网络浏览器开发人员工具中的“网络”选项卡提供了一种捕获进出浏览器的网络流量的方法。如果网站发出任何异步 http 请求,则会在此处捕获并显示。同样取决于网站制作者的设计和策略,这可能是来自 URL 或 HTML 或任何其他类型的基于 JSON 的响应。 Content-Type 标头提示响应的类型。您也可以使用此提示来查看响应的内容是否为application/json。因此,获取可以在脚本中使用的 url。

您在这里尝试做的是通过浏览器观察网站的网络流量,并尝试查看是否有任何链接为您带来基于 JSON 的响应而不是 HTML。因此,您可以使用 JSON 解析器而不是 HTML 解析器。可能是因为 HTML 解析器很慢。

您的具体问题的答案是,如果幸运的话,您可能会找到一个提供 JSON 响应的链接。如果没有,您可能想使用 HTML 解析。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-11
    • 1970-01-01
    • 1970-01-01
    • 2013-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多