Я извлекаю данные о рынке как из Google Finance, так и из Yahoo Finance, но борюсь с проблемой.Использование file_get_contents()/cURL или API для получения финансовых данных?
Google Finance
Yahoo Finance
Я испытываю Yahoo Finance как ненадежный. Если я проверю акции прямо на веб-сайте Yahoo Finance, я получу правильную цену, но как только я воспользуюсь ссылкой выше, я получу другую цену. Я составил данные JSON для Google и Yahoo Finance. Google Finance гораздо точнее, но я хочу использовать Yahoo Finance, поскольку у них есть намного больше акций для извлечения. Я проверил акции Google (GOOG) через «API» Yahoo Finance, как за 30 минут до отмеченного закрытия. Он показывал неправильную цену, как 2 доллара. Сайт показал правильную цену, но не «API». Но и мой сценарий Google Finance, и веб-сайт показывали правильную цену. Кто-нибудь знает, как это можно решить? Если кто-то работал с Yahoo Finance «API» раньше?
Сейчас я пользуюсь file_get_contents()
с RegEx, чтобы получить <span>
с обоих сайтов. Этот метод работает очень хорошо и быстро, но я хочу перейти на использование cURL, поскольку он быстрее. Я создал веб-сайт, который извлекает данные, и занимает всего 1 секунду.
Вот часть моего текущего кода:
$data = file_get_contents('http://www.google.com/finance?q=NASDAQ:GOOG');
$stock = '/\<span id\=\"ref_4420283_l\"\>(.*?)\<\/span\>/';
$price = htmlspecialchars(strip_tags($stock [0]));
Если я придерживаться приведенного выше кода, есть ли шанс, что Google или Yahoo блокирует соединение? Поскольку этот код загружает весь сайт, а не только данные JSON. Мне просто нужно исправить цену.
Резюме
настоящее время я использую file_get_contents()
, но нужно перенести свернуться, если мне нужно придерживаться этого метода. Я собираюсь использовать данные JSON от Yahoo Finance в соответствии со ссылкой выше, но данные JSON не кажутся точными. Данные JSON от Google Finance совершенно точны, но у Google нет всех акций, таких как Yahoo Finance.
У кого-нибудь была такая же проблема с Yahoo Finance? Есть ли вероятность, что Google или Yahoo заблокируют мое соединение, если я захочу придерживаться file_get_contents()
или cURL. Это связано с тем, что данные веб-сайта являются точными как для Google, так и для Yahoo Finance, но не для данных JSON от Yahoo.
Я благодарен за любую помощь, которую я могу получить.
Для получения этого типа финансовых данных существует множество API-интерфейсов; большинство из них являются коммерческими. Рекомендация для этого сайта недоступна; вам нужно будет провести собственное исследование. – duskwuff
Я нашел Google «API» и Yahoo «API», но Yahoo не кажется точным. Я также задал вопрос, могу ли я быть заблокирован, если вы используете file_get_contents() для получения данных вместо использования JSON. Извините за длинный текст, просто подумал, что мне нужно быть конкретным, чтобы получить конкретный ответ. – Treps