2017-09-15 147 views
1

此網址https://finance.google.com/finance/getprices?i=60&p=1d&f=d,l,h&q=ALV返回預計在谷歌單日在ALV一分鐘的價格。谷歌金融getprices網址通過瀏覽器工作,但不是從編程方式從R

library(data.table); fread(「https://finance.google.com/finance/getprices?i=60&p=1d&f=d,l,h&q=ALV」,sep =「/ n」)

一直工作到昨天(9/14/17)。現在它只返回標題信息並且不返回一分鐘數據。就好像在一分鐘數據前插入了EOF。我也嘗試過R中的getURL()和其他方法,結果相同。

有關如何獲取R中一分鐘數據的任何建議?或成任何文件格式?

回答

0

奇怪了,這對我的作品有RStudio版本1.0.136 & [R版本3.3.3:

library(data.table) 
library(xts) 

url = "https://finance.google.com/finance/getprices?i=60&p=1d&f=d,o,h,l,c,v&q=AAPL"  
data = tryCatch({ fread(url) }, error = function(cond) { return(NULL) }) 
if(is.null(data)) { 
    print(paste('Error getting data from', url)) 
} 

# swap columns since google places close price first 
data = data[,c(1,5,3,4,2,6)] 
colnames(data) = c('Date','Open','High','Low','Close','Volume') 
# get start unix time 
data$Date = as.double(gsub('a','',data$Date)) 
# add to rest 
data$Date[-1] = data$Date[-1]*60 + data$Date[1] 
# make xts 
data = xts(data[,2:6], order.by = as.POSIXct(data$Date, origin='1970-01-01')) 

這給了我最最近的1分數據。

+0

謝謝Ole。我正在運行3.4.0和data.table 1.10.4。現在它也適用於我。我想知道谷歌是否有一個呃。感謝您的努力和漂亮的代碼。 – Marc

相關問題