我刚刚完成了一个关于如何开发一个Android应用程序的教程,该应用程序使用JSON数据从Blog中检索更新的帖子。
用于检索帖子的JSON数据的链接是以“/ api / get_recent_summary”结尾的博客名称
如何找到不同网站的JSON数据链接?
例如The Time Magazine的网站 http://time.com
答案 0 :(得分:7)
最快捷,最简单的方法是在谷歌浏览器中使用谷歌开发者工具。
第一次转到谷歌开发者工具。
第二次点击“网络”标签。
第三次点击 XHR 子标签。 XHR(XMLHttpRequest的)
如果网站使用json,它将列在 XHR 子标签下。您可以使用预览子子选项卡搜索不同的返回对象。
以下链接指向网站如何查找json文件http://www.gregreda.com/2015/02/15/web-scraping-finding-the-api/
虽然上述方式最简单,但它并不是获取所需信息的最稳定方式。许多网站在不另行通知的情况下对返回数据进行更改。这可能会破坏你的应用......
我认为您要找的是 API (应用程序编程接口)。大多数Web API都会返回 json 或 xml 。您应该首先搜索要从中获取json数据的特定站点的api文档。具有公共API Feed的网站的示例文档为github api或youtub api。其中许多都需要身份验证才能获得所需的json响应,但文档应该向您展示如何执行此操作。
使用合法的网络API是最稳定的方式。这意味着由于Feed更改,网址更改,您的应用程序随机丢失的可能性较小......我希望这会有所帮助!
答案 1 :(得分:3)
我知道这是一个较老的问题,但我觉得有必要加入。如果您的目标只是确定某个网站是否使用JSON进行数据交换,那么解决方案proposed by Tim是一个非常好的解决方案。但是,如果您希望从任意站点获取数据,则不能保证该站点使用JSON作为数据交换,如@KenanZahirovic所述。有许多网站不这样做。相反,他们将数据嵌入到HTML中,或使用XML或其他方法将内容提供给客户端。没有标准的方法,这就是数据抓取如此困难的原因。它需要弄清楚如何传输数据并为此构建客户端。
对于需要从多个来源收集数据的情况,由于来源之间的细微差别,最终可能会有多个客户端。 This site解释了数据抓取的一些最佳做法。但是,这可能需要服务器端应用程序。拥有一个收集数据并将其存储在数据库中的服务器端应用程序对于这种情况最有意义。这样,您就可以拥有客户端访问数据的一致API。
已提出algorithm可以相当自信地抓住许多网站。如果您只想拥有一个客户,这可能是也可能不是最佳方式。这一切都取决于您希望客户端处理多少处理。如果可能的话,尝试卸载处理到服务器。
这个答案可能超出了要求,但是,我再次感到不得不插话。我确信之前的答案已经足够了。我建议您将答案标记为已接受的答案。
祝你好运!