2009-08-22 6 views
17

Я создаю сетевую торговую систему, в которой сигналы покупки и продажи будут генерироваться путем чтения котировок либо финансов Yahoo, либо финансов Google, либо обмена (NSE of India) itself.My первое предпочтение будет извлекать данные из этого URL:вывести котировки акций из google finance, yahoo finance или самой биржи

http://www.nseindia.com/content/equities/niftywatch.htm

страница на сайте используются таблицы, и я хочу, чтобы получить данные для конкретной акции, используя класс/идентификатор конкретной строки , Теперь проблема заключается в том, что я не могу понять, как извлекать данные из другого домена на моем сервере. Я использую jquery на стороне клиента, на стороне сервера я использую ASP.Net в VB. Итак, пожалуйста, помогите мне и предложите, как я могу получить котировки акций из вышеупомянутого источника. Даже если я могу получить доступ к таблице на указанном выше URL-адресе, моя работа будет выполнена. Пожалуйста, помогите. Большое спасибо.

PS: Просто заметили в Google финансах, что они передают в реальном времени цитату для этого конкретного обмена, поэтому, если вы легко извлекаете данные из Google (я понимаю, что они имеют apis для практически каждой их службы), пожалуйста, объясните то же самое ,

ответ

3

Google действительно предлагает API для Google Finance, документированных здесь: http://code.google.com/apis/finance/

Похоже, она построена вокруг идеи портфеля, и я не экспромтом увидеть способ запросить смету для определенный запас. Ближайшим образом кажется, что «Retrieving specific positions».

В любом случае, это не то, что вы хотите решить с помощью jQuery. Во-первых, вы не сможете читать какие-либо данные с другого сайта (например, на этом сайте nseindia.com), если на сайте, который вы могли бы использовать, не было установки сценария JSONP.

+0

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

+2

Вы не можете читать с другого сайта * с помощью JavaScript *, но вы, безусловно, можете использовать ASP.NET. У Google должно быть несколько примеров того, как это сделать. – VoteyDisciple

+0

Просто предостережение или информация для людей, которые нуждаются в google finance api, просто хочу сказать, что он больше не поддерживается или не доступен ... вы можете использовать YQL !! – Rangesh

15

Вот как захватить исторических ежедневных цен на акции (до до сегодняшнего дня) от Yahoo Finance в формате CSV:

http://ichart.finance.yahoo.com/table.csv?s=AAPL 

где AAPL символ тикер.

Вы можете ограничить то, что возвращается с некоторыми дополнительными параметрами:

  • s - символ Ticker. Это единственный параметр, который не является необязательным.

    Дата начала для исторических цен:

  • а - число месяца, начиная с 0 за январь.

  • b - Номер дня, например, 1 для первого числа месяца.

  • c - год.

    Дата окончания исторические цены (по умолчанию наиболее текущая цена закрытия доступны):

  • d - число месяца, начиная с 0 за январь.

  • e - номер дня, например, 1 для первого числа месяца.

  • f - год.

    И, наконец, частота исторические цены:

  • г - Возможные значения: «d» для ежедневного (по умолчанию), «W» для еженедельно, и «м» на месяц.

+0

спасибо за руководство ... но как voteydisciple говорит, что я не могу читать данные с других сайтов, так как я могу получить цитаты .... –

+0

Кстати, кто-нибудь знает, где указано официально? Я собрал это вместе с какого-то неофициального места, но Yahoo предположительно поддерживает лучшую документацию для этого. – dreeves

+2

Это старый способ, хотя CSV. Теперь вы можете запросить через YQL. Пример этого: http://jarloo.com/tutorials/get-yahoo-finance-api-data-via-yql/ – Kelly

1

Я смущен из ваших комментариев, когда вы говорите, что не можете получать данные с другого сайта.

Вы говорите, что не можете делать HTTP-вызовы с вашего сервера, потому что это запрещено политикой брандмауэра или каким-либо другим ограничением? Или, вы говорите, что вы просто не знаете, как делать HTTP-звонки с вашего сервера?

Если это последнее, вы должны иметь возможность очень легко найти библиотеку .NET для выполнения вызовов HTTP GET (я не использую .NET, поэтому не могу точно указать, какую библиотеку использовать).

Как только вы это выяснили, вам нужно выяснить, как вы собираетесь разбирать ответ. Является ли это данными из таблицы HTML, является ли это файлом CSV, является ли это фидом XML или ...? Все они будут иметь разные потребности в синтаксическом анализе, поэтому трудно объяснить, как это сделать без особой определенности. Вероятно, есть библиотеки, которые вы можете использовать для этого, но это, безусловно, зависит от того, как выглядит ваш источник данных.

Если это действительно так, это звучит так, как будто у вас есть только мелкое понимание того, как работает HTTP, и, возможно, вам будет полезно узнать, как работает HTTP 1.1, прежде чем идти дальше. Вам не нужно понимать всю спецификацию, но достаточно, чтобы различать роль пользовательского агента, сервера, типов контента и т. Д.

В противном случае, если вы говорите, что не можете обойти политики брандмауэра и например, вам нужно будет предоставить больше информации о вашей серверной среде, прежде чем мы сможем помочь.

0

R u ищет данные на конец дня. Если это так, вы можете составить URL-адрес для bhavcopy или исторических данных между двумя датами (существует ограничение на продолжительность. Я думаю, 3 года или около того).

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

Таким образом, вы можете автоматизировать загрузку исторических данных из nseindia. Фактически мы используем то же самое для http://kakup.com

Конечно, мы также преобразуем его в формат метастаса. его рабочий штраф.

1

Вы можете загрузить страницу, содержащую всю информацию о конкретном складе, с помощью wget. После того, как страница будет сохранена на вашем локальном жестком диске, вы сможете проанализировать и получить стоимость в реальном времени (, p: «stock_price»).

Например: wget http://www.google.ca/finance?q=some_particular_stock

Программа это для получения информации на регулярные промежутки времени, и вы сами в режиме реального времени котировки трекера.

+0

У вас есть пример этого? – bouncingHippo

+0

Это была просто идея, о которой я думал, поэтому у меня нет образца кода – Jake88

2

Я использую простой сервис REST для получения котировки акций от yahoo, и я только что опубликовал его на своем сайте для справки. Люди могут просто пройти через это.

http://vikku.info/codetrash/Yahoo_Finance_Stock_Quote_API

1

Вместо отправляющих примеров, here's ссылку на API Docs для Yahoo финансов. Он охватывает как API CSV, так и REST (хотя CSV, по-видимому, покрывается более полно).