さまざまなページから Facebook フィード データをプルしてセンチメントを比較しようとしていますが、R で JSON 生テキストをリスト オブジェクトに変換するときに問題が発生しています。
require(RCurl)
require(rjson)
access_token <- "XXXXXXXXXXXXXXXX"
FacebookScrape <- function( path = "me", access_token, options){
if( !missing(options) ){
options <- sprintf( "?%s", paste( names(options), "=", unlist(options), collapse = "&", sep = "" ) )
} else {
options <- ""
}
data <- getURL( sprintf( "https://graph.facebook.com/%s%s&access_token=%s", path, options, access_token ),
ssl.verifypeer = FALSE)
fromJSON(data, unexpected.escape = "skip")
}
cb.path <- "24329337724/feed?limit=300&offset=0&__after_id=354707562896&"
cb.feed <- FacebookScrape(path = cb.path, access_token = access_token)
このコードは、次のエラー メッセージを返します。
Error in fromJSON(data, unexpected.escape = "skip") :
unexpected character: c
私は JSON に詳しくありませんが、fromJSON 関数 (上記のコードの 13 行目) でエラーが発生していることは知っています。この関数は C を呼び出すため、debug() を使用してもあまりわかりません。JSONテキストが適切にフォーマットされている場合、単純な文字「c」がどのようにエラーを引き起こす可能性があるのか もよくわかりません。「c」はエスケープ文字などではありません。unexpected.escape = "skip"
また、fromJSONのオプションを使用してエスケープ文字も考慮します。
この投稿の解析時にエラーが発生すると判断しました( を設定した場合はエラーは発生しませんが、 を設定limit=261
した場合は発生しcb.path
ますlimit=262
)。誰かが同様の問題に遭遇しましたか? どんな助けでも大歓迎です。
セッション情報:
R version 2.15.3 (2013-03-01)
Platform: x86_64-w64-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] streamR_0.1 wordcloud_2.2 RColorBrewer_1.0-5 Rcpp_0.10.2 stringr_0.6.2
[6] plyr_1.8 tm_0.5-8.3 twitteR_1.1.6 rjson_0.2.12 ROAuth_0.9.3
[11] digest_0.6.2 ggplot2_0.9.3.1 XML_3.95-0.1 RCurl_1.95-4.1 bitops_1.0-5
loaded via a namespace (and not attached):
[1] colorspace_1.2-1 dichromat_2.0-0 grid_2.15.3 gtable_0.1.2 labeling_0.1 MASS_7.3-23
[7] munsell_0.4 proto_0.3-10 reshape2_1.2.2 scales_0.2.3 slam_0.1-27 tools_2.15.3