Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要API来查找给定股票代码的完整公司名称_Api_Yahoo_Finance - Fatal编程技术网

需要API来查找给定股票代码的完整公司名称

需要API来查找给定股票代码的完整公司名称,api,yahoo,finance,Api,Yahoo,Finance,我需要一种从客户端Javascript中查找给定股票代码的完整公司名称的方法。我知道Yahoo Finance的界面位于: 我可以通过YQL访问它(因为这是跨域的)。然而,这并没有返回完整的公司名称,然而雅虎金融有这样的名称,因为它出现在他们的公司图表和关于公司的页面上 我不需要通过雅虎金融解决方案。。。只要在这里提到它,因为我已经知道了它(我正在访问它以获取其他数据)。我过去曾使用雅虎财经或MSN Money删除过这些信息。例如,您可以通过转到()获取埃克森美孚的此信息。至于API,您可能需

我需要一种从客户端Javascript中查找给定股票代码的完整公司名称的方法。我知道Yahoo Finance的界面位于:

我可以通过YQL访问它(因为这是跨域的)。然而,这并没有返回完整的公司名称,然而雅虎金融有这样的名称,因为它出现在他们的公司图表和关于公司的页面上


我不需要通过雅虎金融解决方案。。。只要在这里提到它,因为我已经知道了它(我正在访问它以获取其他数据)。

我过去曾使用雅虎财经或MSN Money删除过这些信息。例如,您可以通过转到()获取埃克森美孚的此信息。至于API,您可能需要自己构建一个。用于API签出。

社区提供的YQL表之一看起来适合您:yahoo.finance.stocks

YQL查询示例:

更新2012-02-10:正如firebush在评论中指出的,这个YQL社区表(yahoo.finance.stocks)似乎不再正常工作,可能是因为finance.yahoo.com上的HTML页面结构发生了变化。这是一个很好的例子,说明了任何依赖HTML抓取而不是真正的API的YQL表的缺点。(不幸的是,对于雅虎金融来说,这是不存在的。)


Google Finance的社区表似乎仍在运行,因此这可能是一种尝试的替代方法:

您可以使用公司基本面API中的“公司搜索”操作:

您可以使用NuGet上“雅虎股票报价”下的Jonathan Christian的.NET API使用雅虎的查找服务

编辑:发布后,我尝试了这个确切的代码,但它对我不起作用,因此我使用了,但它无法通过NuGet获得。一个很好的例子

QuotesDownload dl=new QuotesDownload();
下载客户端baseDl=dl;
QuotesDownloadSettings=dl.settings;
settings.IDs=新字符串[]{“MSFT”、“GOOG”、“YHOO”};
settings.Properties=new QuoteProperty[]{QuoteProperty.Symbol,
QuoteProperty.Name,
QuoteProperty.LastTradePriceOnly
};            
setingsbase baseSettings=baseDl.Settings;
Response resp=baseDl.Download();

另外,如果您只想下载stocktwits api的内容,那么在“资源”下有一个符号学和行业的下载链接,您也可以使用Quandl.com资源。他们的维基数据库包含3339只主要股票,可以通过文件获取。对于存储股票(美国市场的股票)列表的普通文件portfolio.lst,例如:

您可以在.csv文件中扫描名称,例如:

import pandas as pd

df = pd.read_csv('secwiki_tickers.csv')
dp = pd.read_csv('portfolio.lst',names=['pTicker'])

pTickers = dp.pTicker.values  # converts into a list

tmpTickers = []

for i in range(len(pTickers)):
    test = df[df.Ticker==pTickers[i]]
    if not (test.empty):
        print("%-10s%s" % (pTickers[i], list(test.Name.values)[0]))
回报:

AAPL      Apple Inc.
IBM       International Business Machines Corporation
JNJ       Johnson & Johnson
MSFT      Microsoft Corporation
TXN       Texas Instruments Inc.

可以从其他Quandl的资源中合并更多的股票。请参阅联机文档。

Nice。感谢您提供YQL控制台的链接!!使用YQL刮取网页有点间接,但它可以工作。这真的令人印象深刻。谢谢当我点击你的链接并点击“测试”时,CompanyName字段总是空的——我也尝试过其他股票。如果将select更改为“*”,则会显示其他字段(如开始日期),但名称仍然为空:(我想知道这是否曾经有效,但现在不受支持?@firebush感谢您的关注-我已经用一个似乎仍然有效的Google替代方案更新了我的答案。此时,您的Google结果示例不再有效。这里似乎有人问过这个问题:该帖子是指为一家公司查找股票代码y名称。我想转到另一个方向:获取给定股票代码的全名。此链接现在似乎已失效
AAPL
IBM
JNJ
MSFT
TXN
import pandas as pd

df = pd.read_csv('secwiki_tickers.csv')
dp = pd.read_csv('portfolio.lst',names=['pTicker'])

pTickers = dp.pTicker.values  # converts into a list

tmpTickers = []

for i in range(len(pTickers)):
    test = df[df.Ticker==pTickers[i]]
    if not (test.empty):
        print("%-10s%s" % (pTickers[i], list(test.Name.values)[0]))
AAPL      Apple Inc.
IBM       International Business Machines Corporation
JNJ       Johnson & Johnson
MSFT      Microsoft Corporation
TXN       Texas Instruments Inc.