如何直接从API中查询数据

日期:2015-11-16作者:Brad Irby翻译:崔婧雯来源:TechTarget中国 英文

API   数据查询   

【TechTarget中国原创】

每天都有更多公司通过API在Web上发布他们的数据。访问并使用这些数据似乎成了懂得如何编程的“极客”特权。但是,借助Microsoft Excel和一些学习的决心,你也可以从API中直接得到数据,并且尽情地分析它们。

找到数据

从API中查询数据的第一步是找到想要分析的数据。

可以在Yahoo YQL console上查看。Yahoo提供了基于Web的工具来从大量数据源里查询数据,并且在浏览器里查看结果。让我们使用yahoo.finance.quotes表来获得股票价格。

输入YQL查询

在下面的输入框里,可以看到查询结果,得到的文本里有很多关于Microsoft股票价格的数据。在这些文本下面,有另一个输入框的标题写着“The REST Query”。这是运行以后能得到数据的完整查询。将其拷贝到剪贴板。

数据查询结果

如果将这个URL粘贴到新的浏览器窗口里(我将这个窗口称为XML展示窗口),会给你展示出和在Yahoon屏幕上一样的数据,但是格式更加便于阅读(如下)。我使用的是Chrome,不过所有浏览器都能显示类似结果。也要注意可以点击<符号旁边的钻石图标,来关闭这个节点,因为我对这段数据不感兴趣。

在XML展示窗口查看数据

缩小查询数据范围

下一步是找到想要使用的数据段,并且将其从不关心的信息里隔离出来。打开另一个浏览器窗口,进入XPath tester。这个网页能帮助试验XPath,这是一种用来查询XML的查询语言。

在Option 1输入框中,粘贴从Yahoo YQL console那里拷贝的URL,然后在XPath表达式的地方输入斜杠(/),并且点击Test XPath按钮(如下图所示)。在XPath结果栏,能够看到和之前屏幕上显示的同样文本。如果想要使用不同的XML数据源,用它代替Option 2栏的输入。

使用XPath查询SML

如果你不是XPath的专家,找到想要使用的数据的最简单方法是,通过尝试各种字符串看看能得到什么结果,来慢慢找到所需数据。如果检查XML显示窗口,你会注意到第一行都有“<query xmlns……”这样的字符串,以“<”符号元素开头,这就是我们想要找到的元素。将XPath表达式改成“/query”,并且点击Test XPath,就可以看到XPath结果变成了XML展示窗口显示的文本。

通过查看XML展示窗口,我们发现向Microsoft询价位于“quote”元素里面,从而又在“results”元素里,又在“query”元素里。将XPath表达式改变为“/query/results/quote/Ask”就能得到想要查找的数据。(注意XPath表达式是大小写敏感的。)

这个表达式能够显示所需数据

可以尽情尝试XPath表达式,来试验得到其他数据。

将数据导入到Excel

既然已经学会了所有知识,我们终于可以开始将数据导入到Excel来分析了。打开新的电子表格,在A1单元格写入“=WEBSERVICE("PutWebServiceURLHere")”,将Web服务端点地址写在两个双引号之间。Excel会停顿大概一秒钟,然后就会显示一长串XML文本——也就是你之前一直在处理的XML文本。

现在Excel里有了所有原始的XML。每次打开这个电子表格,数值会自动更新。

现在只需要裁剪所得到的数据

这是良好的开始,但是从API中得到的数据太多了。我们想要进行裁剪,只关注我们关心的数据。

在单元格A3里,写入 "=FILTERXML(A1,"/query/results/quote/Ask")"。这个命令的第一部分指代我们在单元格A1里查询到的所有XML数据,双引号里的第二部分是我们用XPath tester构造出来的XPath查询。可以看到只剩下了Microsoft股票的价格。

这是想要的数据的视图

如果想从相同的XML源处使用多个数值,只需要添加另一个FILTERXML命令。这里得到了Microsoft股票的成交量。

从相同XML源得到的Microsoft股票的成交量

现在你已经无需依赖开发人员来构建访问数据的工具,就可以在几分钟之内构建出自己的工具。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

评论
查看更多评论

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者>更多

Brad Irby
Brad Irby

Brad Irby has been a developer and systems architect since 1990, designing and implementing systems using the Microsoft stack.

API>更多

  • API项目中 官方客户端不再是可有可无的

    在API项目中,有官方支持的客户端才能给API社区传达积极的信息。没有官方支持客户的API就像是没有方向盘的汽车。可能是辆好车,但是却哪儿也去不了。

  • Google收购Apigee,焦点在于企业本身还是API?

    Axway的Suraj Kumar认为Apigee收购案不一定是件好事。尽管Google也许会像Borg一样行动,这也许预示着Google的态度需要转变。

  • Google的新收购是否意味着API变得更酷了?

    Google对API管理解决方案提供商Apigee的收购,我们应该怎么评价呢?是为了打造一个改变游戏的联盟吗?或者只是技术巨头想尽快吞食市场份额的尝试?

  • 如何创建成功的RESTful API设计

    设计好的API是一项困难的任务,存在很多主观指标。哪怕是完全拥抱RESTfulAPI设计并对其问题域拥有完整视图的小型初创企业最终也会出现命名不一致、界面模糊以及无记录语义等问题。

相关推荐

  • API项目中 官方客户端不再是可有可无的

    在API项目中,有官方支持的客户端才能给API社区传达积极的信息。没有官方支持客户的API就像是没有方向盘的汽车。可能是辆好车,但是却哪儿也去不了。

  • Google收购Apigee,焦点在于企业本身还是API?

    Axway的Suraj Kumar认为Apigee收购案不一定是件好事。尽管Google也许会像Borg一样行动,这也许预示着Google的态度需要转变。

  • Google的新收购是否意味着API变得更酷了?

    Google对API管理解决方案提供商Apigee的收购,我们应该怎么评价呢?是为了打造一个改变游戏的联盟吗?或者只是技术巨头想尽快吞食市场份额的尝试?

  • API版本化与迁移五大策略

    API版本化和迁移是不得不解决的问题,特别是在应用程序接口和不断变化的业务优先级绑定越来越紧密的当下。但是,如果采取一些关键步骤,改动API就不会造成悲剧。

技术手册>更多

  • 开源关键技术选型指南

    随着开源技术越来越成熟,一个稍有开发经验的人通过学习就可以用开源的产品和技术构建一套可用的系统。对于从事软件开发的人员,尤其是对Java或动态语言相关领域的人来说,“开源”也许是他们最喜爱的单词。但是,很多时候我们需要的不仅仅是一个可用的系统,而是希望这个系统开发更简易、性能更高和扩展性更好等。这确实是一个令人头痛的问题。本指南很多地方都是点到为止,要深入了解相关信息的读者请借助参考资料、网站等自行挖掘。

  • 网格计算与虚拟化

    业务周期的速度和不可预测性已经使很多企业的管理能力逼近了极限。企业需要更具适应性,但他们信息系统的响应速度往往较慢。同时,这些企业希望借助IT系统获得更高的效率,并降低计算成本。

  • 复杂事件处理CEP手册

    在金融服务和其他行业中,如何使那些重要且具有战略意义的业务信息以高速数据流的方式到达企业变得尤其重要,而复杂事件处理(CEP)就是这一过程的代名词。在复杂事件处理中,数据是不断变化的,而“操作”是“静态”的。复杂事件处理具备了分析高速数据流并鉴别重要事件的能力,虽然对这些事件的鉴别过程是复杂的,但结果却是无价的。复杂事件处理能够帮助企业及时全面地洞察市场变化,降低风险和提高决策效率。下面我们就来介绍一下复杂事件处理。

  • 企业云ERP学习

    云之一词的出现带起一片“云海”,也改变了很多事情,改变传统的IT架构模式,冲击了传统的业务运作模式。那么企业内部资源规划,即ERP系统当然不能落于人后。

TechTarget

最新资源
  • 安全
  • 存储
  • CIO
  • 数据库
  • 服务器
  • 云计算