2017-09-15 17 views
1

이 URL에서 https://finance.google.com/finance/getprices?i=60&p=1d&f=d,l,h&q=ALV 반환 크롬에서 하나의 하루 ALV에 일분 가격을 예상했다.구글 금융 getprices URL은 브라우저를 통해 작동하지만 프로그래밍 R

라이브러리 (data.table); fread ("https://finance.google.com/finance/getprices?i=60&p=1d&f=d,l,h&q=ALV", sep = "/ n")

어제 (9/14/17)까지 근무했습니다. 이제는 헤더 정보 만 반환하고 1 분 데이터는 반환하지 않습니다. 1 분짜리 데이터 앞에 EOF가 삽입 된 것 같습니다. 나는 또한 getURL()과 R에서 같은 결과를 가진 다른 메소드를 시도했다.

R에서 1 분 데이터를 가져 오는 방법에 대한 제안 사항이 있으십니까? 아니면 어떤 파일 형식으로?

답변

0

이상한,이 날 RStudio 버전 1.0.136 & R 버전 3.3.3을 가지고 작동이 나에게 가장 최근의 1 분 데이터를 제공

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')) 

.

+0

감사 올레. 저는 3.4.0 및 data.table 1.10.4를 실행 중입니다. 이제 나에게도 효과가있다. Google에 혹독한 점이 있는지 궁금합니다. 노력과 좋은 코드 주셔서 감사합니다. – Marc