Перенос портфелей Google Finance в R

Я хочу получить доступ к данным из моего финансового портфеля Google в R. Я пытаюсь сделать это, прочитав документацию Google Finance API и следуя указаниям RGoogleDocs . Я добился некоторого прогресса, но у меня много проблем с синтаксическим анализом XML-версии финансового портфеля Google.

require(RGoogleDocs)

#Autheticate using RGoogleDocs
auth = getGoogleAuth("me@gmail.com", "password",service="finance")
con = getGoogleDocsConnection(auth)

#Get positions
positions <- getURL("http://finance.google.com/finance/feeds/default/portfolios/6/positions",curl=con)
positions <- xmlInternalTreeParse(positions)
positions['entry'] #Returns nothing, should return a list of stocks
xpathApply(positions, "//a") #Also returns nothing

Вот пример. Я пытаюсь проанализировать все элементы 'entry' из этого документа.

require(XML)
positions <-  "http://finance.google.com/finance/feeds/me@gmail.com/portfolios/7/positions/NYSE:SPY2011-07-18T21:42:07.000ZSPDR S&P 500 ETF"
positions <- xmlInternalTreeParse(positions)
positions['entry']

РЕДАКТИРОВАТЬ:

По какой-то причине опубликованная мною XML-строка не работает так же, как живое соединение с документами Google. Единственный способ воспроизвести этот код - создать портфолио в Google Finance. Обязательно запишите идентификатор вашего портфолио. В моем примере я использую портфель с идентификатором 6 ( finance / feeds / default / portfolios / 6 / position ), но ваш может быть другим.

#Autheticate using RGoogleDocs
require(RGoogleDocs)
auth = getGoogleAuth("me@gmail.com", "password",service="finance")
con = getGoogleDocsConnection(auth)

#Get positions
positions <- getURL("http://finance.google.com/finance/feeds/default/portfolios/6/positions",curl=con)
doc = xmlTreeParse(positions, useInternalNodes = TRUE)
kids = xmlChildren(doc, addFinalizer = NA)
entries <- sapply(kids, "[", "entry")
entries[1]

8
задан Zach 19 July 2011 в 14:39
поделиться