2013-03-01 4 views
2

После нескольких дней борьбы я решил обратиться к специалистам stackoverflow.читать json в R

Я хотел экспортировать это (например) «http://www.appannie.com/app/ios/instagram/ranking/history/chart_data/?s=2010-10-06&e=2012-06-04&c=143441&f=ranks&d=iphone» в R.

Так вот что я пытался.

library(RJSONIO) 
library(rjson) 
library(RCurl) 
appannie <- getURL("http://www.appannie.com/app/ios/instagram/ranking/history/chart_data/.json?s=2010-10-06&e=2012-06-04&c=143441&f=ranks&d=iphone") 
fromJSON(appannie) 

Но это дает мне сообщение об ошибке «Нет данных для разбора».

Но я ясно вижу, что есть данные (я могу видеть данные из браузера).

[{"data": [[1286323200000, 70, "Исходная версия \ n"], [1286409600000, 65, null], [1286496000000, 89, null], [1286582400000, 106, null], [1286668800000 , 143, null], [1286755200000, 172, null], [1286841600000, 106, null], [1286928000000, 116, null], [1287014400000, 78, null], [1287100800000, 102, null], .... .. [1338768000000, 2, null]], «label»: «Фото и видео»}]

Итак, я попробовал этот.

fromJSON(paste(readLines('http://www.appannie.com/app/ios/instagram/ranking/history/chart_data/.json?s=2010-10-06&e=2012-06-04&c=143441&f=ranks&d=iphone'), collapse="")) 

Но это одна дает мне ошибку «неожиданного символа„<“».

Может ли кто-нибудь дать мне руководство, почему это происходит и как это решить?

+1

Ну, собирается [этот URL] (http://www.appannie.com/app/ ios/instagram/ranking/history/chart_data/.json? s = 2010-10-06 & e = 2012-06-04 & c = 143441 & f = ranks & d = iphone) не получает JSON, он получает ошибку 404 (и, следовательно, HTML). –

+0

Взгляните на свой объект 'appannie' - что у него есть? Если это похоже на 'JSON', можете ли вы« dput (appannie) »и отправить его в свой вопрос. Если это не похоже на 'JSON', тогда у вас есть свой ответ;) –

+0

@DavidRobinson У меня ошибка 403. Возможно, у ОП есть доступ, которого нет у нас? –

ответ

3

Учитывая данные, которые вы вставили:

jsonRaw <- '{"data": [[1286323200000, 70, "Initial release\n"], [1286409600000, 65, null], [1286496000000, 89, null], [1286582400000, 106, null], [1286668800000, 143, null], [1286755200000, 172, null], [1286841600000, 106, null], [1286928000000, 116, null], [1287014400000, 78, null], [1287100800000, 102, null], [1338768000000, 2, null]], "label": "Photo and Video"}]' 

Все работает отлично:

jsonParsed <- fromJSON(jsonRaw) 

Что, вероятно, происходит, что R не имеет доступа к веб-сайту. Посмотрите на результат своего заявления RCurl. Если это не json-подобные данные, то там у вас есть проблема.

EDIT:

Вы состояние

"Но я ясно вижу, что есть данные (я могу видеть данные из браузера)"

Но вы вошли в систему, так ясно, что это не то же самое, что видеть его в R

+0

Я пропустил важную вещь. Спасибо! – user1486507