2009-05-19 251 views
89

是否有任何種類的API只提供簡單的符號查找服務?即輸入一個公司名稱,它會告訴你股票代碼?我嘗試過屏幕抓取Google財經,但經過一段時間後,它會限制您,並且您必須輸入CAPTCHA。我正在嘗試批量查找大約2000個自動收報器符號。有任何想法嗎?股票代碼查詢API

+0

沒有更好的運氣與雅虎財經? – Noldorin 2009-05-19 23:13:46

+0

您需要在查找之間添加延遲。說5秒。 – siamii 2013-05-10 16:14:17

+0

該腳本可能很有用:https:// github。com/kevin91nl/scrape-ticker-symbols – 2017-06-16 22:00:59

回答

100

您可以使用雅虎的符號查找,象這樣:

http://d.yimg.com/autoc.finance.yahoo.com/autoc?query=yahoo&callback=YAHOO.Finance.SymbolSuggest.ssCallback

查詢是公司名稱。

你會得到這樣的回報:

YAHOO.Finance.SymbolSuggest.ssCallback(
{ 
    "ResultSet": { 
     "Query": "ya", 
     "Result": [ 
      { 
       "symbol": "YHOO", 
       "name": "Yahoo! Inc.", 
       "exch": "NMS", 
       "type": "S", 
       "exchDisp": "NASDAQ" 
      }, 
      { 
       "symbol": "AUY", 
       "name": "Yamana Gold, Inc.", 
       "exch": "NYQ", 
       "type": "S", 
       "exchDisp": "NYSE" 
      }, 
      { 
       "symbol": "YZC", 
       "name": "Yanzhou Coal Mining Co. Ltd.", 
       "exch": "NYQ", 
       "type": "S", 
       "exchDisp": "NYSE" 
      }, 
      { 
       "symbol": "YRI.TO", 
       "name": "YAMANA GOLD INC COM NPV", 
       "exch": "TOR", 
       "type": "S", 
       "exchDisp": "Toronto" 
      }, 
      { 
       "symbol": "8046.TW", 
       "name": "NAN YA PRINTED CIR TWD10", 
       "exch": "TAI", 
       "type": "S", 
       "exchDisp": "Taiwan" 
      }, 
      { 
       "symbol": "600319.SS", 
       "name": "WEIFANG YAXING CHE 'A'CNY1", 
       "exch": "SHH", 
       "type": "S", 
       "exchDisp": "Shanghai" 
      }, 
      { 
       "symbol": "1991.HK", 
       "name": "TA YANG GROUP", 
       "exch": "HKG", 
       "type": "S", 
       "exchDisp": "Hong Kong" 
      }, 
      { 
       "symbol": "1303.TW", 
       "name": "NAN YA PLASTIC TWD10", 
       "exch": "TAI", 
       "type": "S", 
       "exchDisp": "Taiwan" 
      }, 
      { 
       "symbol": "0294.HK", 
       "name": "YANGTZEKIANG", 
       "exch": "HKG", 
       "type": "S", 
       "exchDisp": "Hong Kong" 
      }, 
      { 
       "symbol": "YAVY", 
       "name": "Yadkin Valley Financial Corp.", 
       "exch": "NMS", 
       "type": "S", 
       "exchDisp": "NASDAQ" 
      } 
     ] 
    } 
} 
) 

這是JSON和非常易於使用。

噓......別告訴任何人。

1

你最好的賭注可能是與其他查找服務之一(仍然屏幕抓取),並檢查他們是否不需要CAPTCHA。

最後出現的最有可能要求在任何時候一個CAPTCHA,但它是值得檢查所有三個。

24

您可以發送一個HTTP請求到http://finance.yahoo.com請求符號,名稱,引號和各種其他數據。數據以.CSV的形式返回,因此您可以在一個查詢中請求多個符號。

所以,如果你發:

http://finance.yahoo.com/d/quotes.csv?s=MSFT+F+ATT&f=sn 

你會得到這樣的:

"MSFT","Microsoft Corp" 
"F","FORD MOTOR CO" 
"ATT","AT&T" 

這裏是一個文章稱爲Downloading Yahoo Data其中包括用來請求各個標籤數據。

+1

不幸的是,從一個符號找到公司名稱很容易。我正在尋找一種方法來自動從公司名稱列表中批量查找股票代碼。谷歌迄今爲止搜索效果最好,我可以在我的列表中找到幾乎任何公司的符號,而無需手動搜索,但谷歌有速度限制,並且在約1000次請求後會給你一個503錯誤。 – dancavallaro 2009-05-20 21:35:22

+0

沒有答案,但有用的域名 – kenny 2010-08-02 20:36:12

+0

看起來像API使用有法律問題。打開[下載雅虎數據]時,會看到雅虎的說明,以這種方式使用他們的服務是非法的 – Bogdan 2014-06-11 10:31:24

31

谷歌財經也可讓您一次通過以下網址檢索多達100個股票行情:

www.google.com/finance/info?infotype=infoquoteall & Q = [ticker1],[ticker2] ,...,[tickern]

例如:

www.google.com/finance/info?infotype=infoquoteall & q = C,JPM,AIG

有人破譯可用在此字段:

http://qsb-mac.googlecode.com/svn/trunk/Vermilion/Modules/StockQuoter/StockQuoter.py

目前的價格(「L」)是實時和延時看齊雅虎財經。有幾個怪癖你應該知道。少數股票需要交換前綴。例如,如果您查詢「BTIM」,您將收到「錯誤請求」錯誤,但「AMEX:BTIM」正常工作。即使交換前綴,一些股票也不起作用。例如,查詢「FTWRD」和「納斯達克:FTWRD」都會產生「錯誤請求」錯誤,即使Google財經確實有此納斯達克股票的信息。

「el」字段(如果存在)會告訴您當前的上市前或下班後價格。

7

使用YQL,你不需要擔心。這是雅虎的查詢語言,您可以獲取所有股票數據,包括股票的公司名稱。它是一個REST API,它通過XML或JSON返回結果。我有一個完整的教程和源代碼在我的網站上看看:http://www.jarloo.com/yahoo-stock-symbol-lookup/