当然,如果带回来,并解析为JSON使用JavaScript,你就可以做到以下几点,拔出你都想得到一切恢复股票:
var callback = function(_return /* The json returned for yahooapis */) {
var totalReturned = _return.query.count;
//OR: var totalReturned = _return.query.results.quote.length;
for (var i = 0; i < totalReturned; ++i) {
var stock = _return.query.results.quote[i];
var symbol = stock.symbol;
var percent_change = stock.Change_PercentChange;
var changeRealTime = stock.ChangeRealtime;
...
}
}
-
var url = 'http://query.yahooapis.com/v1/public/yql';
var startDate = '2012-01-01';
var endDate = '2012-01-08';
var data = encodeURIComponent('select * from yahoo.finance.historicaldata where symbol in ("YHOO","AAPL","GOOG","MSFT") and startDate = "' + startDate + '" and endDate = "' + endDate + '"');
$.getJSON(url, 'q=' + data + "&env=http%3A%2F%2Fdatatables.org%2Falltables.env&format=json", callback);
-
YQL Demo
(添加和startDate = "" and endDate = ""
与格式YYYY-MM-DD的日期查询到你想要的东西,也一定要选择JSON作为输出格式)
-
一些附加从注释信息:
- 在查询上面的例子是从yahoo.finance.historicaldata历史数据,你也可以查询实时yahoo.finance.quotes - 滞后约15分钟)
- 如果你想真正的真实时间信息查询web服务:例如
finance.yahoo.com/webservice/v1/symbols/YHOO/quote?format=json
(添加&view=detail
到查询,如果你想要更详细的输出)
0123,也是,我在我的问题中的查询...有没有办法修改它以编程方式查找历史数据? – bouncingHippo
当然,但它看起来像你可能不得不改变你的查询只是一点点。我将编辑我的答案以显示更多内容,以jQuery getJSON函数为例。 – crowebird
就像后续一样,其中一些变化是您从(yahoo.finance.historicaldata)获取数据并添加startDate和endDate – crowebird