YQL不返回资产负债表或损益表中的数据

Xiao Liu

我一直在尝试使用YQL来访问上市公司的基本知识。但是,YQL查询未返回Yahoo财务页面中显示的内容。具体来说,我需要从资产负债表和损益表中检索数据,YQL中针对Apple的示例查询如下:

SELECT * FROM yahoo.finance.balancesheet WHERE symbol='AAPL'

但是,这仅返回一个时间范围(每季度),而没有其他结果。

链接到我的示例查询的YQL控制台在这里

YQL无法访问数据还是我运行查询的方式有问题?如何通过YQL获得完整的数据列表,如http://finance.yahoo.com/q/bs?s=AAPL

乔治

您的查询过去可以正常工作。但是,一个月或两个月前,许多yahoo.finance YQL“表”停止工作。

IOW,您做对了,但是YQL坏了。

如果将鼠标悬停在yahoo.finance.balancesheetYQL控制台左列中条目上,则会显示标记为descsrc的按钮如果单击src,它将为您获取抓取代码:http : //www.datatables.org/yahoo/finance/yahoo.finance.balancesheet.xml要使E4X JavaScript清晰易读,请右键单击并选择“查看源代码”,或者在命令行中使用wgetcurl

请注意,该代码获取http://finance.yahoo.com/q/bs?s=AAPL&quarterly,然后使用XPath查询来查找数据:

var query = y.xpath(rawresult, "//table[@class='yfnc_tabledata1']/tr/td/table/tr");

如果将页面提取到浏览器中并检查HTML,则会发现确实存在tablewith类yfnc_tabledata1但是,它没有tr直子。显然,雅虎必须决定添加一个tbody元素。这可能解释了为什么查询不再抓取任何数据的原因。

代码页列出了Ryan Hoium作为作者。稍作搜索就可以找到代码所在github存储库,以及其他Yahoo Finance表的代码。

可悲的是,只有yahoo.finance.sectors桌子受到了最近的关注。更改是在其XPath表达式中添加双斜杠。双斜线放宽了“直子”的要求,例如tr即使在中间也可以找到tbody但是,看来新版本尚未发布到公共站点。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章