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());
}
}
}
13 回答
雅虎和谷歌数据的问题在于它违反了服务条款,如果你不是很大,但只要你稍微增长,你就会开始停止并停止交易 . 许可的解决方案示例是FinancialContent:http://www.financialcontent.com/json.php或Xignite
有一个完整的API来管理投资组合 . *删除链接 . Google不再为此提供开发人员API .
获得股票报价要困难一些 . 我找到一篇文章,其中有人使用Google Spreadsheets获得股票报价 .
您也可以使用gadgets,但我想's not what you'之后 .
您提到的API很有趣,但似乎没有记录(据我所知,无论如何) .
以下是historical prices的一些信息,仅供参考 .
Google Finance Gadget API已正式deprecated since October 2012,但截至2014年4月,它仍处于活跃状态:
http://www.google.com/finance/info?q=NASDAQ:GOOG http://www.google.com/finance/info?q=CURRENCY:GBPUSD http://finance.google.com/finance/信息?客户= IG&q = AAPL,YHOO
你也可以得到图表:https://www.google.com/finance/getchart?q=YELP
Note that if your application is for public consumption, using the Google Finance API is against Google's terms of service.
检查google-finance-get-stock-quote-realtime以获取python中的完整代码
我觉得这个网站很有帮助 .
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的回答 . 现在有一个用于url调用的python包装器googlefinance .
安装googlefinance
很容易获得当前股票价格:
Google财经是提供实时股票数据的来源 . 还有来自雅虎的其他API,例如yahoo-finance,但纽约证券交易所和纳斯达克股票的延迟时间为15分钟 .
也许有趣的是,Google Finance API文档包含a section detailing how to access different parameters via JavaScript .
我想JavaScript API可能是您在上面提到的JSON请求的包装器...也许您可以检查正在发送的HTTP请求 .
Build 在巨人的肩膀上......这是我写的一个单线程,用于将Google当前的所有股票数据删除到本地Bash shell变量中:
然后你会有像$ GF_last $ GF_open $ GF_volume等变量随时可用 . 运行env或在/tmp/stockprice.tmp.log中查看
因此
stock="FBM"
/tmp/stockprice.tmp.log (和您的环境)将包含:这不再是谷歌的有效API,你可以试试Xignite,虽然他们收费:http://www.xignite.com
这是一个可以使用的示例 . 还没有谷歌财务,但这是雅虎的例子 . 你需要HTMLAgilityPack,这太棒了 . 快乐的符号狩猎 .
使用
YahooStockRequest(string Symbols);
调用该过程其中Symbols =以逗号分隔的符号字符串,或仅一个符号
你解释过的最简单的方法是link这是'Dow Jones Industrial Average'
Link 2适用于'NASDAQ-100'
以及与纳斯达克有关的所有link 3
我认为这应该是它,否则你想要的JSON符号与Microsoft相同
请参考old post我认为这会有所帮助,
更新:
要了解卷的细节和其他细节,我创建了一个vbscript,它使用IE对象从链接中获取详细信息,并警告特定id中的内容(创建.vbs文件并运行它 .
这将提醒这样的页面中的值
我相信这会有所帮助..
试试这个:http://finance.google.com/finance/info?client=ig&q=NASDAQ:GOOGL
它将返回有关上述库存的所有可用详细信息 .
例如out put看起来如下:
您可以在此URL的末尾添加公司股票代码以获取其详细信息:
为了使用Google的财务数据API查找图表数据,必须简单地转到Google,就像查找搜索字词一样,在搜索引擎中输入资金,然后会出现指向Google财经的链接 . 进入Google财经搜索引擎后,在财务数据API引擎中输入股票代码名称,结果将会显示 . 但是,应该注意的是,所有Google财经图表都会延迟15分钟,最多也会延迟可用于更好地了解股票代码的过去历史,而不是当前价格 .
延迟图表信息的解决方案是获得实时金融数据API . 一个例子是barchartondemand界面,它具有实时报价信息,以及其他详细功能,使您可以更轻松地找到您正在寻找的确切图表 . 凭借完全可定制的功能和特定的编程工具,您可以获得所需的精确交易信息,barchartondemand的工具大大超越了Google财务 .
Google股票报价API已经消失 . 但是,Investor's Exchange offers an API非常容易用于报价数据 .