2009-05-19 250 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/