使用Yahoo Finance API的实时流媒体创建nodeJS mongoDB Web应用程序

时间:2012-11-09 20:09:41

标签: node.js express mongoose yahoo-finance google-finance-api

考虑为我自己构建一个免提的网络应用程序,使用nodeJS,表达和mongoose与历史和现场(不要介意,如果它延迟20分钟)来自Yahoo Finance API。

我自然更喜欢谷歌财经,但它在2012年10月左右被弃用。雅虎财经API和论坛将其描述为C#友好......有没有办法绕过它?

1 个答案:

答案 0 :(得分:4)

我曾经写过一个node.js应用程序,用于查询和解析来自yahoo Finance的数据。效果很好,很容易做到。我不确定你究竟在问什么,但这里有一些注意事项:

首先,我尝试使用YQL(some info here),它可以返回JSON(这对于nodejs来说是最佳的),但是在我开始使用它之后不久,该服务就切断了我,因为我达到了配额。我不知道门槛是多少,但每分钟要求1500只股票是可以理解的太多了。所以我不建议将它用于类似的东西。

所以我使用来自雅虎CSV服务的数据,完全避免了YQL(根据我的理解,这只是上述CSV服务之上的一层)。解析CSV数据非常简单,尤其是如果您使用模块(我使用ya-csv)。

以下是有关如何申请报价的信息: http://cliffngan.net/a/13

以下是如何查询历史时间序列(即图表)的说明 http://code.google.com/p/yahoo-finance-managed/wiki/csvHistQuotesDownload

现在,既然你打破了node.js,你可能会考虑使用socket.io,因为这真的有助于库存数据不断变化的性质。

最后,请注意:每天早上4点到市场开放,雅虎会重置所有报价。即所有股票的价格变化都变为0.00(或0%),尽管价格等与前一天的收盘价保持正确相同。不知道为什么他们这样做,但这意味着如果你正在做基于%变化的热图或图表,那么在这几个小时内它不会画出非常有趣的图形。

哦,还有一个注意事项:我不确定你是否真的需要包括mongoose或任何数据库。当然,取决于您对数据的处理方式,但如果您想要简单,低成本的开发和托管,请考虑您可以将所有内容存储在内存中。如果应用程序崩溃并重新启动,您只需重新请求所有引号。