2

Rを介して公開投稿をストリーミングおよび保存しようとしています。すでにトークンを取得して検索を行いました。これは私がやったことです。

必須(RCurl)

必要 (rjson)

data <- getURL(" https://graph.facebook.com/search?q=multishow&type=post&access_token=my_token ")

大丈夫です。「データ」の文字が何かを見つけました。では、この「データ」文字をデータ フレームに変換するにはどうすればよいでしょうか。特定のタイムアウト中にこの検索をストリーミングすることは可能ですか?

ありがとう。

アップデート:

わかりました、Facebook からの JSON 結果を解析できるようになりましたが、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))

いずれにせよ、1 つまたは 2 つの観測値と数百の変数を含む data.frame を取得します。私が最後に行った検索では、42 個の変数を持つ最初の観測結果、13 個の変数を持つ次の観測結果を得ました。どうすればそれを処理できますか?

4

1 に答える 1

0

設定するには、timeout次のようにcurl一般オプションでタイムアウトオプションを検索できます

 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))
于 2013-03-26T03:29:58.630 に答える