Как транслировать и сохранять публичные сообщения Facebook с помощью R?

Я пытаюсь транслировать и сохранять публичные сообщения через R. Я уже получил токен и произвел поиск. Это то, что я сделал.

требуют (RCurl)

требуют (rjson)

данные <- getURL (" https://graph.facebook.com/search?q=multishow&type=post&access_token=my_token")

Хорошо, персонаж "data" что-то нашел. Теперь, как я могу преобразовать этот символ "данных" в фрейм данных? И возможно ли передать этот поиск в течение определенного времени ожидания?

Благодарю.

ОБНОВИТЬ:

Хорошо, ребята, теперь я могу анализировать результаты JSON из Facebook, но я все еще застрял в том, чтобы правильно покрывать данные как фрейм data.frame и получать поток новых сообщений. Следуйте приведенному ниже коду:

library (RCurl)
library (rjson)
library (plyr)

data <- getURL("https://graph.facebook.com/search?q=my_query&type=post&access_token=my_token, cainfo="cacert.perm")

#JSON parser
parser <- newJSONParser()
parser$addData(data)
fb.data <- parser$getObject()

#JSON to data.frame 
#sometimes it works direct from rjson
df <- data.frame(fromJSON(fb.data))

#sometimes it works only with plyr package
df <- do.call("rbind.fill", lapply(fb.data, as.data.frame))

В любом случае, я получаю data.frame с 1 или 2 наблюдениями и сотнями переменных. При последнем поиске я получил свое первое наблюдение с 42 переменными, второе с 13 переменными и так далее. Любая подсказка, как я могу справиться с этим?

1 ответ

Чтобы установить timeout Вы можете найти опцию тайм-аута в общих настройках скручивания, как это

 names(getCurlOptionsConstants())[grep('.*timeout*.',names(getCurlOptionsConstants()))]

Это дает мне 6 вариантов:

"timeout"              "connecttimeout"      
 "dns.cache.timeout"    "ftp.response.timeout" 
 "timeout.ms"           "connecttimeout.ms"   

Я не знаю, какой из них вы ищите, но я думаю, вы можете попробовать что-то вроде этого:

getURL(url,.opts = list(timeout = 10))
Другие вопросы по тегам