Ответ 1
Конечно, если вы вернетесь и проанализируете 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);
-
(Добавить и startDate = "" and endDate = ""
в запрос с датами в формате yyyy-mm-dd, чтобы делать то, что вы хотите, также обязательно выберите JSON в качестве выходного формата)
-
Дополнительная информация из комментариев:
- В приведенном выше примере запрос был для исторических данных из yahoo.finance.historicaldata, вы также можете запросить yahoo.finance.quotes для реального времени - отставание около 15 минут).
- Если вы хотите, чтобы информация реального времени в реальном времени запрашивала веб-сервис: например.
finance.yahoo.com/webservice/v1/symbols/YHOO/quote?format=json
(добавьте&view=detail
к этому запросу, если вы хотите получить более подробный вывод)