Котировки акций google finance json перестали работать

До сих пор я использовал этот URL для получения котировок акций из финансов google и анализа json-данных с помощью PHP:

http://finance.google.com/finance/info?client=ig&q=nse:infy,nasdaq:aapl

Сегодня он прекратил работу Однако я могу получить доступ к этому:

http://finance.google.com/finance/?client=ig&q=nse:infy

Проблема в том, что это только возврат кавычек для одного запаса, а не несколько, как предыдущий, используемый...

Кто-нибудь знает, как получить котировки акций для нескольких акций, используя этот URL-адрес? Когда я пробовал вот так:

http://finance.google.com/finance/?client=ig&q=nse:infy,nse:ashokley

он все еще возвращает некоторый json, заявляющий, что обе акции активны. Но это не будет включать цитаты и т.д.... Любая помощь приветствуется.

Или, если его невозможно получить отсюда, пожалуйста, укажите меня в другое место, где я могу получить данные OHLCV для подобных запасов.

Ответ 1

Как сказал Питер Саид, API Google Finance закрылся в октябре 2012 года. Google оставил серверы без поддержки или мониторинга. Они отключат серверы, когда обнаружена основная ошибка или дыра безопасности, как упоминается Джеффом Нельсоном здесь.

Вы можете использовать финансы Yahoo, чтобы получить цены на несколько символов акций следующим образом: http://finance.yahoo.com/d/quotes.csv?s=AAPL+GOOG+MSFT&f=snbaopl1

Google Ticker: https://finance.google.com/finance?q=NASDAQ:AAPL&output=json

Или вы можете использовать Данные для обратной заставки в режиме реального времени Google Realtime.

Это обзор про google api, поскольку это непростая задача. Я буду использовать url, который вы написали в комментарии: https://www.google.com/finance/getprices?q=.NSEI&x=NSE&i=600&p=1d&f=d,o,h,l,c,v

Здесь параметр я (интервал) = 600 секунд = 10 минут.

введите описание изображения здесь

Один сложный бит с первым столбцом (датой) имеет полную и частичную метку времени. (Пожалуйста, отметьте заметки на изображении)

Первая строка имеет отметку времени = 1504669800. Вторая строка в наборе данных на изображении имеет интервал 1. Вы можете умножить это число на наш размер интервала (600 с, в этом примере) и добавить его к последнему Unix Отметка. Это дает вам дату для текущей строки. (Итак, наша вторая строка - через 10 минут после первой строки.).

1504669800 + (1 * 600) = 1504670400 -> timestamp for second row
1504670400 + (2 * 600) = 1504671600 -> timestamp for Third row ... and so on.

Последняя строка (внизу) имеет самую высокую дату и последний тик.

Легко преобразовать отметку времени unix в отформатированную дату на любом языке программирования, например php:

<?php
$timestamp=1504669800;
echo gmdate("Y-m-d\TH:i:s\Z", $timestamp);
?>

Онлайн-конвертер здесь

Надеюсь на эту помощь.

Ответ 2

Сегодня, похоже, Google Finance API сегодня (6 сентября 2017 года). Вы можете использовать alphavantage как альтернативный БЕСПЛАТНЫЙ API с выходом JSON для акций США

Ответ 4

API Google Finance должен был быть закрыт 20 октября 2012 года. Однако он продолжал работать с тех пор, до сих пор. Google Finance - это прекращенная услуга, которая не предлагает поддержки.