我想使用Google财经API获取有关该公司的股票数据,但此API自2011/26/05起已弃用。

您使用什么作为免费API来实时获取股票数据?


#1楼

更新答案了一下

1.尝试Alpha Vantage API

对于初学者,您可以尝试从查询中获取JSON输出,例如

https://www.alphavantage.co/query?function=TIME_SERIES_DAILY&symbol=MSFT&apikey=demo

不要尝试使用Yahoo Finance API (现在已经过了优惠或无法使用)。

  • 以下是有关StackOverflow之前的Yahoo Finance API讨论的链接。
  • 这是Google Code上发布的Yahoo Finance API的备用链接 。

对于初学者,您可以使用简单的API调用生成CSV:

http://finance.yahoo.com/d/quotes.csv?s=AAPL+GOOG+MSFT&f=sb2b3jk

(这将为AAPL,GOOG和MSFT生成并保存CSV)

请注意,您必须将格式附加到查询字符串( f=.. )。 有关所有格式的概述,请参阅此页面 。

有关更多示例,请访问此页面 。

对于基于XMLJSON的数据,您可以执行以下操作:

不要使用YQL(Yahoo Query Language)**

例如:

http://developer.yahoo.com/yql/console/?q=select%20*%20from%20yahoo.finance
.quotes%20where%20symbol%20in%20(%22YHOO%22%2C%22AAPL%22%2C%22GOOG%22%2C%22
MSFT%22)%0A%09%09&env=http%3A%2F%2Fdatatables.org%2Falltables.env

2.使用Web服务

例如,要获取XML所有股票报价:

http://finance.yahoo.com/webservice/v1/symbols/allcurrencies/quote

要获取JSON所有股票报价,只需将format=JSON添加到URL的末尾:

http://finance.yahoo.com/webservice/v1/symbols/allcurrencies/quote?format=json

备择方案:

1. 1Forge Financial API

  • 这里提供大约40种货币对的实时汇率。

2. Financial Content API

  • 该API的文档非常好。

3. 开放汇率

4. Oanda API

5. XE API

6. Xignite API

7. currencylayer API

8. 可编程 Web上讨论的其他API


#2楼

我建议使用TradeKing的开发人员API 。 它非常好并且可以免费使用。 所需要的只是你有一个帐户,据我所知,你不需要进行余额......只是要注册。


#3楼

如果您仍在使用Google财经获取数据,可以查看此信息。

我最近需要测试SGX数据是否确实可以通过谷歌财务检索(当然我遇到了与你相同的问题)


#4楼

我迟到了,但看看Quandl 。 他们有一个股票价格和基本面的API 。

这是一个示例调用, 在csv中使用Quandl-api下载

例:

https://www.quandl.com/api/v1/datasets/WIKI/AAPL.csv?column=4&sort_order=asc&collapse=quarterly&trim_start=2012-01-01&trim_end=2013-12-31

他们支持这些语言 。 他们的源数据来自雅虎财经,谷歌财经,NSE,BSE,FSE,HKEX,LSE,SSE,TSE等( 见此处 )。


#5楼

我按照最佳答案开始关注雅虎财经。 他们的API可以通过多种不同的方式访问,但我找到了一个很好的参考,可以在这里获取CSV信息: http : //www.jarloo.com/

用它我写了这个脚本。 我不是一个真正的红宝石家伙,但这可能会帮助你一起破解一些东西。 我还没有为雅虎提供的所有字段提供变量名称,因此如果您需要它们,您可以填写这些字段。

这是用法

TICKERS_SP500 = "GICS,CIK,MMM,ABT,ABBV,ACN,ACE,ACT,ADBE,ADT,AES,AET,AFL,AMG,A,GAS,APD,ARG,AKAM,AA,ALXN,ATI,ALLE,ADS,ALL,ALTR,MO,AMZN,AEE,AAL,AEP,AXP,AIG,AMT,AMP,ABC,AME,AMGN,APH,APC,ADI,AON,APA,AIV,AAPL,AMAT,ADM,AIZ,T,ADSK,ADP,AN,AZO,AVGO,AVB,AVY,BHI,BLL,BAC,BK,BCR,BAX,BBT,BDX,BBBY,BBY,BIIB,BLK,HRB,BA,BWA,BXP,BSX,BMY,BRCM,BFB,CHRW,CA,CVC,COG,CAM,CPB,COF,CAH,HSIC,KMX,CCL,CAT,CBG,CBS,CELG,CNP,CTL,CERN,CF,SCHW,CHK,CVX,CMG,CB,CI,XEC,CINF,CTAS,CSCO,C,CTXS,CLX,CME,CMS,COH,KO,CCE,CTSH,CL,CMA,CSC,CAG,COP,CNX,ED,STZ,GLW,COST,CCI,CSX,CMI,CVS,DHI,DHR,DRI,DVA,DE,DLPH,DAL,XRAY,DVN,DO,DTV,DFS,DG,DLTR,D,DOV,DOW,DPS,DTE,DD,DUK,DNB,ETFC,EMN,ETN,EBAY,ECL,EIX,EW,EA,EMC,EMR,ENDP,ESV,ETR,EOG,EQT,EFX,EQIX,EQR,ESS,EL,ES,EXC,EXPE,EXPD,ESRX,XOM,FFIV,FB,FDO,FAST,FDX,FIS,FITB,FSLR,FE,FISV,FLIR,FLS,FLR,FMC,FTI,F,FOSL,BEN,FCX,FTR,GME,GCI,GPS,GRMN,GD,GE,GGP,GIS,GM,GPC,GNW,GILD,GS,GT,GOOG,GWW,HAL,HBI,HOG,HAR,HRS,HIG,HAS,HCA,HCP,HCN,HP,HES,HPQ,HD,HON,HRL,HSP,HST,HCBK,HUM,HBAN,ITW,IR,TEG,INTC,ICE,IBM,IP,IPG,IFF,INTU,ISRG,IVZ,IRM,JEC,JNJ,JCI,JOY,JPM,JNPR,KSU,K,KEY,GMCR,KMB,KIM,KMI,KLAC,KSS,KRFT,KR,LB,LLL,LH,LRCX,LM,LEG,LEN,LVLT,LUK,LLY,LNC,LLTC,LMT,L,LO,LOW,LYB,MTB,MAC,M,MNK,MRO,MPC,MAR,MMC,MLM,MAS,MA,MAT,MKC,MCD,MHFI,MCK,MJN,MWV,MDT,MRK,MET,KORS,MCHP,MU,MSFT,MHK,TAP,MDLZ,MON,MNST,MCO,MS,MOS,MSI,MUR,MYL,NDAQ,NOV,NAVI,NTAP,NFLX,NWL,NFX,NEM,NWSA,NEE,NLSN,NKE,NI,NE,NBL,JWN,NSC,NTRS,NOC,NRG,NUE,NVDA,ORLY,OXY,OMC,OKE,ORCL,OI,PCAR,PLL,PH,PDCO,PAYX,PNR,PBCT,POM,PEP,PKI,PRGO,PFE,PCG,PM,PSX,PNW,PXD,PBI,PCL,PNC,RL,PPG,PPL,PX,PCP,PCLN,PFG,PG,PGR,PLD,PRU,PEG,PSA,PHM,PVH,QEP,PWR,QCOM,DGX,RRC,RTN,RHT,REGN,RF,RSG,RAI,RHI,ROK,COL,ROP,ROST,RCL,R,CRM,SNDK,SCG,SLB,SNI,STX,SEE,SRE,SHW,SIAL,SPG,SWKS,SLG,SJM,SNA,SO,LUV,SWN,SE,STJ,SWK,SPLS,SBUX,HOT,STT,SRCL,SYK,STI,SYMC,SYY,TROW,TGT,TEL,TE,THC,TDC,TSO,TXN,TXT,HSY,TRV,TMO,TIF,TWX,TWC,TJX,TMK,TSS,TSCO,RIG,TRIP,FOXA,TSN,TYC,USB,UA,UNP,UNH,UPS,URI,UTX,UHS,UNM,URBN,VFC,VLO,VAR,VTR,VRSN,VZ,VRTX,VIAB,V,VNO,VMC,WMT,WBA,DIS,WM,WAT,ANTM,WFC,WDC,WU,WY,WHR,WFM,WMB,WIN,WEC,WYN,WYNN,XEL,XRX,XLNX,XL,XYL,YHOO,YUM,ZMH,ZION,ZTS,SAIC,AP"AllData = loadStockInfo(TICKERS_SP500, allParameters())SpecificData = loadStockInfo("GOOG,CIK", "ask,dps")

loadStockInfo返回一个哈希值,使得SpecificData [“GOOG”] [“name”]为“Google Inc.”

最后,运行的实际代码......

require 'net/http'# Jack Franzen & Garin Bedian
# Based on http://www.jarloo.com/yahoo_finance/$parametersData = Hash[[["symbol", ["s", "Symbol"]],["ask", ["a", "Ask"]],["divYield", ["y", "Dividend Yield"]],["bid", ["b", "Bid"]],["dps", ["d", "Dividend per Share"]],#["noname", ["b2", "Ask (Realtime)"]],#["noname", ["r1", "Dividend Pay Date"]],#["noname", ["b3", "Bid (Realtime)"]],#["noname", ["q", "Ex-Dividend Date"]],#["noname", ["p", "Previous Close"]],#["noname", ["o", "Open"]],#["noname", ["c1", "Change"]],#["noname", ["d1", "Last Trade Date"]],#["noname", ["c", "Change & Percent Change"]],#["noname", ["d2", "Trade Date"]],#["noname", ["c6", "Change (Realtime)"]],#["noname", ["t1", "Last Trade Time"]],#["noname", ["k2", "Change Percent (Realtime)"]],#["noname", ["p2", "Change in Percent"]],#["noname", ["c8", "After Hours Change (Realtime)"]],#["noname", ["m5", "Change From 200 Day Moving Average"]],#["noname", ["c3", "Commission"]],#["noname", ["m6", "Percent Change From 200 Day Moving Average"]],#["noname", ["g", "Day’s Low"]],#["noname", ["m7", "Change From 50 Day Moving Average"]],#["noname", ["h", "Day’s High"]],#["noname", ["m8", "Percent Change From 50 Day Moving Average"]],#["noname", ["k1", "Last Trade (Realtime) With Time"]],#["noname", ["m3", "50 Day Moving Average"]],#["noname", ["l", "Last Trade (With Time)"]],#["noname", ["m4", "200 Day Moving Average"]],#["noname", ["l1", "Last Trade (Price Only)"]],#["noname", ["t8", "1 yr Target Price"]],#["noname", ["w1", "Day’s Value Change"]],#["noname", ["g1", "Holdings Gain Percent"]],#["noname", ["w4", "Day’s Value Change (Realtime)"]],#["noname", ["g3", "Annualized Gain"]],#["noname", ["p1", "Price Paid"]],#["noname", ["g4", "Holdings Gain"]],#["noname", ["m", "Day’s Range"]],#["noname", ["g5", "Holdings Gain Percent (Realtime)"]],#["noname", ["m2", "Day’s Range (Realtime)"]],#["noname", ["g6", "Holdings Gain (Realtime)"]],#["noname", ["k", "52 Week High"]],#["noname", ["v", "More Info"]],#["noname", ["j", "52 week Low"]],#["noname", ["j1", "Market Capitalization"]],#["noname", ["j5", "Change From 52 Week Low"]],#["noname", ["j3", "Market Cap (Realtime)"]],#["noname", ["k4", "Change From 52 week High"]],#["noname", ["f6", "Float Shares"]],#["noname", ["j6", "Percent Change From 52 week Low"]],["name", ["n", "Company Name"]],#["noname", ["k5", "Percent Change From 52 week High"]],#["noname", ["n4", "Notes"]],#["noname", ["w", "52 week Range"]],#["noname", ["s1", "Shares Owned"]],#["noname", ["x", "Stock Exchange"]],#["noname", ["j2", "Shares Outstanding"]],#["noname", ["v", "Volume"]],#["noname", ["a5", "Ask Size"]],#["noname", ["b6", "Bid Size"]],#["noname", ["k3", "Last Trade Size"]],#["noname", ["t7", "Ticker Trend"]],#["noname", ["a2", "Average Daily Volume"]],#["noname", ["t6", "Trade Links"]],#["noname", ["i5", "Order Book (Realtime)"]],#["noname", ["l2", "High Limit"]],#["noname", ["e", "Earnings per Share"]],#["noname", ["l3", "Low Limit"]],#["noname", ["e7", "EPS Estimate Current Year"]],#["noname", ["v1", "Holdings Value"]],#["noname", ["e8", "EPS Estimate Next Year"]],#["noname", ["v7", "Holdings Value (Realtime)"]],#["noname", ["e9", "EPS Estimate Next Quarter"]],#["noname", ["s6", "evenue"]],#["noname", ["b4", "Book Value"]],#["noname", ["j4", "EBITDA"]],#["noname", ["p5", "Price / Sales"]],#["noname", ["p6", "Price / Book"]],#["noname", ["r", "P/E Ratio"]],#["noname", ["r2", "P/E Ratio (Realtime)"]],#["noname", ["r5", "PEG Ratio"]],#["noname", ["r6", "Price / EPS Estimate Current Year"]],#["noname", ["r7", "Price / EPS Estimate Next Year"]],#["noname", ["s7", "Short Ratio"]]]def replaceCommas(data)s = ""inQuote = falsedata.split("").each do |a|if a=='"'inQuote = !inQuotes += '"'elsif !inQuote && a == ","s += "#"elses += aendendreturn s
enddef allParameters()s = ""$parametersData.keys.each do |i|s  = s + i + ","endreturn s
enddef prepareParameters(parametersText)pt = parametersText.split(",")if !pt.include? 'symbol'; pt.push("symbol"); end;if !pt.include? 'name'; pt.push("name"); end;p = []pt.each do |i|p.push([i, $parametersData[i][0]])endreturn p
enddef prepareURL(tickers, parameters)urlParameters = ""parameters.each do |i|urlParameters += i[1]ends = "http://download.finance.yahoo.com/d/quotes.csv?"s = s + "s=" + tickers + "&"s = s + "f=" + urlParametersreturn URI(s)
enddef loadStockInfo(tickers, parametersRaw)parameters = prepareParameters(parametersRaw)url = prepareURL(tickers, parameters)data = Net::HTTP.get(url)data = replaceCommas(data)h = CSVtoObject(data, parameters)logStockObjects(h, true)
end#parse csv
def printCodes(substring, length)a = data.index(substring)b = data.byteslice(a, 10)puts "printing codes of string: "puts bputs b.split('').map(&:ord).to_s
enddef CSVtoObject(data, parameters)rawData = []lineBreaks = data.split(10.chr)lineBreaks.each_index do |i|rawData.push(lineBreaks[i].split("#"))end#puts "Found " + rawData.length.to_s + " Stocks"#puts "   w/ " + rawData[0].length.to_s + " Fields"h = Hash.new("MainHash")rawData.each_index do |i|o = Hash.new("StockObject"+i.to_s)#puts "parsing object" + rawData[i][0]rawData[i].each_index do |n|#puts "parsing parameter" + n.to_s + " " +parameters[n][0]o[ parameters[n][0] ] = rawData[i][n].gsub!(/^\"|\"?$/, '')endh[o["symbol"]] = o;endreturn h
enddef logStockObjects(h, concise)h.keys.each do |i|if conciseputs "(" + h[i]["symbol"] + ")\t\t" + h[i]["name"]elseputs ""puts h[i]["name"]h[i].keys.each do |p|puts "    " + $parametersData[p][1] + " : " + h[i][p].to_sendendend
end

谷歌财务api的替代[关闭]相关推荐

  1. 谷歌地球API开发者指南(高级)

    谷歌地球API开发者指南(高级) 作者感慨:Google Earth真是一个好东东,而其爱好者更是天才啊.我们与老美在科技上的差距,不是我们以环境.资源为代价的粗放式快速增长的GDP所能掩盖的 Goo ...

  2. 谷歌地球API相关网页翻译

    http://serc.carleton.edu/sp/library/google_earth/google_earth_api.html Google Earth API 谷歌地球api The ...

  3. 用谷歌地图api获取图形范围内有几个标记点

    有一个需求用谷歌地图绘制一个图形,获取图形范围内有哪些标记点.我试着看谷歌地图的js文档,发现里面有此类的功能. 文档链接:谷歌地图api 我来分享一下使用方法: //核心方法 google.maps ...

  4. 谷歌地图API位置请求_Google Maps API

    谷歌地图API位置请求  Google maps api 以xml格式传回请求的地址:http://maps.google.com/maps/api/geocode/xml?latlng=39.910 ...

  5. 为支持两个语言版本,我基于谷歌翻译API写了一款自动翻译的 webpack 插件

    大家好,我是若川.持续组织了6个月源码共读活动,感兴趣的可以点此加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步.同时极力推荐订阅我写的<学习源码整体架构系列& ...

  6. java+语音识别+谷歌_JAVA使用谷歌语音识别API

    我正在尝试使用谷歌语音识别API.这是我写的代码: 有用.我从服务器得到答案: {"status":5,"id":"8803471b14a2310df ...

  7. html5谷歌地图,谷歌地图API和HTML 5

    我是新来的Stackoverflow,所以要善良.谷歌地图API和HTML 5 我一直在使用谷歌地图api和一些其他的东西来制作游戏的项目.这个想法是使用地理定位数据来清除地图上的雾(当你开始时地图充 ...

  8. 谷歌地图api的使用 一

    一.注册账号 使用谷歌地图api,需要注册一个谷歌账号,并创建一个你的项目,在项目中开通你所需要的api. 谷歌地图api网址:https://cloud.google.com/maps-platfo ...

  9. 谷歌地图api 微信小程序_使用Google的融合位置提供程序API进行实时位置跟踪

    谷歌地图api 微信小程序 Location tracking and monitoring have seen a surge in modern application development w ...

最新文章

  1. 远程办公还将持续,智办事助力企业团队协作难点“破冰”
  2. python去除字符串中的单词_从字符串中删除单词列表
  3. 嵌入式系统启动流程和启动代码的作用 !
  4. 在图形化界面中为Ubuntu18.04更新源
  5. Yarn将用TypeScript重写,Flow惨遭亲爹抛弃!
  6. php汽车找车位,遭遇到车多车位少 教你如何快速找到停车位
  7. POJ-2400 Supervisor, Supervisee 带权值匹配+枚举所有匹配情况
  8. 用户登录色一句java_SpringBoot中用SpringSecurity实现用户登录并返回其拥有哪些角色...
  9. JMeter(十三)-代理服务器录制脚本
  10. cin.getline()、getline()、gets()、cin.get(),getchar()的区别
  11. 计算机信息规划工资,2020年工科类专业薪资最新排名,计算机很吃香,工资水平最高...
  12. 模拟经营游戏框架构思
  13. MIPS中addi指令被分成三条指令的问题
  14. 用拉格朗日插值法,牛顿插值和分段线性插值计算近似值
  15. SWF游戏软件逆向基础知识1
  16. linux 怎么看出io是瓶颈,IO瓶颈探测方法
  17. sharing-jdbc分库分表方案设计
  18. 折腾黑苹果把win10的引导给弄没了 花了几小时找回
  19. 2019-6浙江工业大学计算机学院转专业二志愿机试题目
  20. Sizzle选择器揭秘--Sizzle选择器

热门文章

  1. JavaScript随机漂浮碰壁效果
  2. Directional Adversarial Training for Recommender Systems
  3. 每周一篇 文献阅读—pape9 (用于单图像去雾的特征融合注意网络FFA-Net)
  4. Arcgis如何让其显示中文(英文)
  5. Idea查看所有断点
  6. 仓库是时候实施物联网了吗
  7. 2020年UI设计行业的就业状况如何?
  8. 【JAVA】生产者消费者模式
  9. kali安装水泽,进行简单换源
  10. 职校高一计算机课高一,职高高一数学课件