是否有任何类型的API只提供简单的符号查找服务?即输入公司名称,它会告诉你股票代码?我曾尝试过对Google财经进行屏幕抓取,但过了一会儿它的速度限制了你,你必须输入一个CAPTCHA。我正在尝试批量查找大约2000个自动收报机符号。有任何想法吗?
答案 0 :(得分:103)
您可以像这样使用雅虎的符号查找:
查询是公司名称。
你会得到这样的回报:
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 :(得分:31)
Google财经确实允许您使用以下网址一次检索最多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”字段(如果存在)告诉您当前的上市前或下班后价格。
答案 2 :(得分:25)
您可以向 http://finance.yahoo.com 发送请求符号,名称,引号和各种其他数据的HTTP请求。数据以 .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的文章,包含用于请求数据的各种标记。
答案 3 :(得分:21)
纳斯达克网站在每个证券交易所(纽约证券交易所,美国证券交易所和纳斯达克证券交易所)中为股票代码提供单独的CSV列表。您需要完成验证码并获取CSV转储。
答案 4 :(得分:8)
如果你不想报名参加服务,我可能会回到自己的交易所;其中大部分都没有被CAPTCHAA ......
符号查找页面:
等...
答案 5 :(得分:7)
使用YQL,您无需担心。它是雅虎的查询语言,您可以获取所有股票数据,包括股票代码的公司名称。它是一个REST API,它通过XML或JSON返回结果。我的网站上有完整的教程和源代码,请查看:http://www.jarloo.com/yahoo-stock-symbol-lookup/
答案 6 :(得分:6)
目前,纳斯达克网站公开提供包含批量商家信息的CSV文件 - 它首字母分解。
http://www.nasdaq.com/screening/companies-by-name.aspx?letter=A&render=download
答案 7 :(得分:2)
Google财经有一个API - 您可能需要申请开发人员密钥,但至少您可以省去屏幕抓取的麻烦:http://code.google.com/apis/finance/reference.html
答案 8 :(得分:1)
你最好的赌注可能是与其他一个查找服务(仍然是屏幕抓取),并检查它们是否不需要CAPTCHA。
最后一个看起来最不可能在任何时候需要CAPTCHA,但是值得检查这三个。
答案 9 :(得分:1)
使用YQL:类似sql的语言从公共api中检索内容: YQL Console (external link)
它为您提供了一个很好的XML文件!
答案 10 :(得分:0)
您可以在公司基础API中使用“公司搜索”操作:http://www.mergent.com/servius/