كيف يمكنني الحصول على أسعار الأسهم باستخدام Google Finance API؟

StackOverflow https://stackoverflow.com/questions/527703

سؤال

أبحث عن إمكانية الوصول إلى البيانات المالية من خدمات Google.

وجدت عنوان URL هذا الذي يحصل على بيانات الأسهم لشركة Microsoft.

ما هي جميع المعلمات المحتملة التي تسمح بها Google لهذا النوع من طلبات HTTP؟أود أن أرى جميع المعلومات المختلفة التي يمكنني الحصول عليها.

هل كانت مفيدة؟

المحلول

هناك واجهة برمجة تطبيقات كاملة لإدارة المحافظ.*تم حذف الرابط.لم تعد Google توفر واجهة برمجة تطبيقات للمطورين لهذا الغرض.

الحصول على أسعار الأسهم أصعب قليلاً.لقد عثرت على مقال واحد حيث حصل شخص ما على أسعار الأسهم باستخدام جداول بيانات Google.

يمكنك أيضًا استخدام الأدوات ولكن أعتقد أن هذا ليس ما كنت بعد.

واجهة برمجة التطبيقات التي ذكرتها مثيرة للاهتمام ولكن لا يبدو أنها موثقة (بقدر ما تمكنت من العثور عليها على أي حال).

وهنا بعض المعلومات عن الأسعار التاريخية, ، فقط للإشارة.

نصائح أخرى

لقد وجدت هذا الموقع مفيدا.

http://benjisimon.blogspot.com/2009/01/truly-simple-stock-api.html

إنه يرتبط بواجهة برمجة التطبيقات (API) التي يبدو أن ياهو تقدمها بسيطة ومفيدة للغاية.

على سبيل المثال:

http://finance.yahoo.com/d/quotes.csv?s=GOOG+AAPL&f=snl1

التفاصيل الكاملة هنا:

http://www.gummy-stuff.org/Yahoo-data.htm

وتحرير: تمت إزالة استدعاء API من قبل جوجل. لذلك لم يعد يعمل.

ونتفق مع الإجابة Pareshkumar ل. الآن هناك مجمع الثعبان GOOGLEFINANCE عن دعوة رابط.

تثبيت GOOGLEFINANCE

$pip install googlefinance

ومن السهل الحصول على السعر الحالي للسهم:

>>> from googlefinance import getQuotes
>>> import json
>>> print json.dumps(getQuotes('AAPL'), indent=2)
[
  {
    "Index": "NASDAQ", 
    "LastTradeWithCurrency": "129.09", 
    "LastTradeDateTime": "2015-03-02T16:04:29Z", 
    "LastTradePrice": "129.09", 
    "Yield": "1.46", 
    "LastTradeTime": "4:04PM EST", 
    "LastTradeDateTimeLong": "Mar 2, 4:04PM EST", 
    "Dividend": "0.47", 
    "StockSymbol": "AAPL", 
    "ID": "22144"
  }
]

والتمويل جوجل هو مصدر الذي يوفر بيانات المخزون في الوقت الحقيقي. وهناك أيضا واجهات برمجة التطبيقات الأخرى من ياهو، مثل ياهو التمويل ، ولكن يتم تأخير من قبل 15min للأسهم في بورصة نيويورك وناسداك.

ولعل من الفائدة، وdocumentaton المالية API جوجل يتضمن ل القسم بالتفصيل كيفية الوصول إلى معايير مختلفة عن طريق جافا سكريبت .

وأعتقد أن API جافا سكريبت قد يكون المجمع إلى JSON أطلب منكم ذكر أعلاه ... ربما كنت قد تحقق من HTTP طلبات يتم إرسالها.

بناءً على أكتاف العمالقة... إليك سطرًا واحدًا كتبته لدمج جميع بيانات مخزون Google الحالية في متغيرات Bash Shell المحلية:

stock=$1 

# Fetch from Google Finance API, put into local variables
eval $(curl -s "http://www.google.com/ig/api?stock=$stock"|sed 's/</\n</g' |sed '/data=/!d; s/ data=/=/g; s/\/>/; /g; s/</GF_/g' |tee /tmp/stockprice.tmp.log)

echo "$stock,$(date +%Y-%m-%d),$GF_open,$GF_high,$GF_low,$GF_last,$GF_volume"

ثم سيكون لديك متغيرات مثل $GF_last $GF_open $GF_volume وما إلى ذلك.متاحة بسهولة.قم بتشغيل env أو انظر داخل /tmp/stockprice.tmp.log

http://www.google.com/ig/api?stock=TVIX&output=csv by itself returns:

<?xml version="1.0"?>
<xml_api_reply version="1">
<finance module_id="0" tab_id="0" mobile_row="0" mobile_zipped="1" row="0" section="0" >
<symbol data="TVIX"/>
<pretty_symbol data="TVIX"/>
<symbol_lookup_url data="/finance?client=ig&amp;q=TVIX"/>
<company data="VelocityShares Daily 2x VIX Short Term ETN"/>
<exchange data="AMEX"/>
<exchange_timezone data="ET"/>
<exchange_utc_offset data="+05:00"/>
<exchange_closing data="960"/>
<divisor data="2"/>
<currency data="USD"/>
<last data="57.45"/>
<high data="59.70"/>
<low data="56.85"/>

etc.

وذلك ل stock="FBM" /tmp/stockprice.tmp.log (وبيئتك) ستحتوي على:

GF_symbol="FBM"; 
GF_pretty_symbol="FBM"; 
GF_symbol_lookup_url="/finance?client=ig&amp;q=FBM"; 
GF_company="Focus Morningstar Basic Materials Index ETF"; 
GF_exchange="NYSEARCA"; 
GF_exchange_timezone=""; 
GF_exchange_utc_offset=""; 
GF_exchange_closing=""; 
GF_divisor="2"; 
GF_currency="USD"; 
GF_last="22.82"; 
GF_high="22.82"; 
GF_low="22.82"; 
GF_volume="100"; 
GF_avg_volume=""; 
GF_market_cap="4.56"; 
GF_open="22.82"; 
GF_y_close="22.80"; 
GF_change="+0.02"; 
GF_perc_change="0.09"; 
GF_delay="0"; 
GF_trade_timestamp="8 hours ago"; 
GF_trade_date_utc="20120228"; 
GF_trade_time_utc="184541"; 
GF_current_date_utc="20120229"; 
GF_current_time_utc="033534"; 
GF_symbol_url="/finance?client=ig&amp;q=FBM"; 
GF_chart_url="/finance/chart?q=NYSEARCA:FBM&amp;tlf=12"; 
GF_disclaimer_url="/help/stock_disclaimer.html"; 
GF_ecn_url=""; 
GF_isld_last=""; 
GF_isld_trade_date_utc=""; 
GF_isld_trade_time_utc=""; 
GF_brut_last=""; 
GF_brut_trade_date_utc=""; 
GF_brut_trade_time_utc=""; 
GF_daylight_savings="false"; 

وهذا لم يعد API نشطة لجوجل، يمكنك محاولة Xignite، على الرغم من أنها تهمة: HTTP: //www.xignite كوم

والمشكلة مع البيانات ياهو وجوجل هو أنه ينتهك شروط الخدمة إذا كنت تستخدم للاستخدام التجاري. عندما موقعك / التطبيق لا يزال صغيرا ليس بالأمر الكبير، ولكن بمجرد أن تنمو قليلا البدء في وقف الحصول على ويكف من التبادلات. والمثال حل المرخصة FinancialContent: http://www.financialcontent.com/json.php أو Xignite

وهنا مثال التي يمكنك استخدامها. have not حصل جوجل المالية بعد، ولكن هنا هو مثال ياهو. وسوف تحتاج إلى HTMLAgilityPack ، وهو رهيبة. سعيد رمز الصيد.

واستدعاء الإجراء باستخدام YahooStockRequest(string Symbols);

وأين الرموز = سلسلة بفواصل من حرف أو رمز واحد فقط

public string YahooStockRequest(string Symbols,bool UseYahoo=true)
        {
            {
                string StockQuoteUrl = string.Empty;

                try
                {
                    // Use Yahoo finance service to download stock data from Yahoo
                    if (UseYahoo)
                    {
                        string YahooSymbolString = Symbols.Replace(",","+");
                        StockQuoteUrl = @"http://finance.yahoo.com/q?s=" + YahooSymbolString + "&ql=1";
                    }
                    else
                    {
                        //Going to Put Google Finance here when I Figure it out.
                    }

                    // Initialize a new WebRequest.
                    HttpWebRequest webreq = (HttpWebRequest)WebRequest.Create(StockQuoteUrl);
                    // Get the response from the Internet resource.
                    HttpWebResponse webresp = (HttpWebResponse)webreq.GetResponse();
                    // Read the body of the response from the server.

                    HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
                    string pageSource;
                    using (StreamReader sr = new StreamReader(webresp.GetResponseStream()))
                    {
                        pageSource = sr.ReadToEnd();
                    }
                    doc.LoadHtml(pageSource.ToString());
                    if (UseYahoo)
                    {
                        string Results=string.Empty;
                        //loop through each Symbol that you provided with a "," delimiter
                        foreach (string SplitSymbol in Symbols.Split(new char[] { ',' }))
                        {
                            Results+=SplitSymbol + " : " + doc.GetElementbyId("yfs_l10_" + SplitSymbol).InnerText + Environment.NewLine;
                        }
                        return (Results);
                    }
                    else
                    {
                        return (doc.GetElementbyId("ref_14135_l").InnerText);
                    }

                }
                catch (WebException Webex)
                {
                    return("SYSTEM ERROR DOWNLOADING SYMBOL: " + Webex.ToString());

                }

            }
        }

وأبسط طريقة ما كنت قد أوضح لهذا هذا هو إلى عن على "داو جونز الصناعي"

رابط 2 عبارة عن "NASDAQ-100 '

ووكلها تتعلق 3

وأعتقد أن هذا يجب أن يكون عليه، وإلا كنت تريد نفس في JSON الرموز نفس مايكروسوفت

تجدر الإشارة هذا آخر القديمة أعتقد وهذا سوف يساعد،

تحديث:

لمعرفة تفاصيل حجم وغيرها من التفاصيل، لقد خلق فبسكريبت الذي يستخدم الكائن IE لجلب تفاصيل من الارتباط، والتنبيهات المحتوى في معرف معين (إنشاء ملف & .vbs & وتشغيله ..

Set IE = CreateObject("InternetExplorer.Application")
while IE.readyState = 4: WScript.Sleep 10: wend
IE.Navigate "https://www.google.com/finance?q=INDEXNASDAQ%3ANDX&sq=NASDAQ&sp=2&ei=B3UoUsiIH5DIlgPEsQE"
IE.visible = true
while IE.readyState = 4: WScript.Sleep 10: wend
dim ht
ht= IE.document.getElementById("market-data-div").innerText
msgBox ht
IE.quit

وهذا سينبه القيم من الصفحة مثل هذا

3,124.54 0.00 (0.00%)
Sep 4 - Close
INDEXNASDAQ real-time data - Disclaimer
Range       -
52 week 2,494.38 - 3,149.24
Open        -
Vol.    0.00

وأنا متأكد من أن هذا سيساعد ..

لقد ذهب API أسعار الأسهم جوجل بعيدا. ومع ذلك، تبادل المستثمر يوفر API أن من السهل جدا للاستخدام للبيانات الاقتباس.

وحاول مع هذا: http://finance.google.com/finance/info؟client= زاي وف = NASDAQ: GOOGL

ووسوف نعود لكم جميعا تفاصيل المتاحة عن الأوراق المالية المذكورة.

ومنها مثلا. اخماد ستبدو أدناه:

// [ {
"id": "694653"
,"t" : "GOOGL"
,"e" : "NASDAQ"
,"l" : "528.08"
,"l_fix" : "528.08"
,"l_cur" : "528.08"
,"s": "0"
,"ltt":"4:00PM EST"
,"lt" : "Dec 5, 4:00PM EST"
,"lt_dts" : "2014-12-05T16:00:14Z"
,"c" : "-14.50"
,"c_fix" : "-14.50"
,"cp" : "-2.67"
,"cp_fix" : "-2.67"
,"ccol" : "chr"
,"pcls_fix" : "542.58"
}
]

ويمكن أن يكون لديك شركة رمز السهم في نهاية هذا URL للحصول على تفاصيله:

http://finance.google.com/finance/info?client=ig&q=<YOUR COMPANY STOCK SYMBOL>

في أجل العثور على الرسم البياني البيانات باستخدام API البيانات المالية لغوغل، يجب على المرء أن مجرد الذهاب الى جوجل كما لو تبحث عن مصطلح البحث، اكتب المالية في محرك البحث، وسوف تصل إلى التمويل جوجل تظهر. مرة واحدة على محرك البحث جوجل المالية، اكتب اسم شريط في محرك API البيانات المالية وسيتم عرض النتيجة. ومع ذلك، تجدر الإشارة إلى أن جميع المخططات المالية غوغل تأخر 15 دقيقة، وعلى الأكثر يمكن استخدامها لفهم أفضل لتاريخ شريط في الماضي، بدلا من السعر الحالي.

وحل لمعلومات الرسم البياني تأخر هو الحصول على الوقت الحقيقي API البيانات المالية. ومثال على واحد يكون واجهة barchartondemand أن لديه معلومات الاقتباس في الوقت الحقيقي، جنبا إلى جنب مع الخصائص التفصيلية الأخرى التي تجعل من أبسط للعثور على الرسم البياني الدقيق الذي تبحث عنه. مع الميزات للتخصيص بالكامل، وأدوات البرمجة محددة للمعلومات التداول الدقيقة التي تحتاج إليها، أدوات barchartondemand للتفوق التمويل جوجل بهامش واسع.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top