所以我实际上正在使用twitteR,我需要一种方法将我的推文存储到csv文件中,并在需要时将其拉出来.这是因为我想编译我收集的推文然后将它们应用到我的算法以便稍后进行计算.所以,我想到了尝试
write.csv(tweets, file = "newfile", row.names = TRUE, sep = ',', col.names = TRUE)
Run Code Online (Sandbox Code Playgroud)
只有在创建数据框时才有效:/.我收集的推文看起来像这样
[[1]]
[1] "anonymous: boring!"
[[2]]
[1] "anonymous: random message !"
Run Code Online (Sandbox Code Playgroud)
...... ......
有任何想法吗?
编辑:我的str(推文)这只是我推出的3条推文
List of 3
$ :Reference class 'status' [package "twitteR"] with 17 fields
..$ text : chr "damn so many thing to settle @@"
..$ favorited : logi FALSE
..$ favoriteCount: num 0
..$ replyToSN : chr(0)
..$ created : POSIXct[1:1], format: "2013-10-11 14:15:59"
..$ truncated : logi FALSE
..$ replyToSID : …Run Code Online (Sandbox Code Playgroud) 我试图使用twitteR的searchTwitter()函数与curl代理,但我得到一个与JSON相关的错误.我看到很多人都遇到了同样的JSON错误.但我相信我的事业是不同的,所以我会在我的问题中尝试具体.
我已经使用Twitter的API正确设置了OAuth连接.我在Windows上,使用最新版本的R和所有软件包.我使用代理是因为我公司的防火墙.我RCurlOptions用来配置代理.我还带了RJSONIO.当我不必配置代理时,代码在我公司的防火墙之外运行良好.
library(RCurl)
library(twitteR)
library(RJSONIO)
options(RCurlOptions = list(
proxy ="proxy.mycompany.net:8080",
proxyuserpwd="USERNAME:PASSWORD",
cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl")))
load("OAuth.RData") #Load in my OAuth credentials object
registerTwitterOAuth(cred)
geico.tweets <- searchTwitter('@geico', n = 2)
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
Error in twFromJSON(out) :
Error: Malformed response from server, was not JSON.
Run Code Online (Sandbox Code Playgroud)
我知道这不是Twitter返回R无法正确解析的字符的问题,因为我甚至无法引入任何单个推文(另外,它在防火墙之外工作正常).
此链接表明它可能是由于我使用RCurl引起的:https://github.com/omegahat/RCurl/issues/1
他的解释是因为我使用了RCurl而导致JSON搞砸了.将\\被转换为\通过R_mapString,这被称为仅如果数据包括Unicode字符.这跟我的理解差不多.他还提到了一个.mapUnicode论点.
RCurlOptions我可以配置一些参数来解决这个问题吗?谢谢.
我正在尝试使用twitteR函数'searchTwitter'检索约3000条关键字"nba"或#"标签""#nba"的推文,但它只返回299条"nba"的推文和2013年1月1日之间"#nba"的398条推文2014年2月25日.我真的很困惑,这是正常的吗?有没有其他人使用twitteR遇到过类似的问题?请帮忙.非常感激!
library(twitteR)
library(plyr)
library(stringr)
load("~/twitter_authentication.Rdata")
registerTwitterOAuth(cred)
nbahash_tweets = searchTwitter("#nba",since='2013-01-01', until='2014-02-25',n=3000)
nba_tweets = searchTwitter("nba",since='2013-01-01', until='2014-02-25',n=3000)
Warning message:
In doRppAPICall("search/tweets", n, params = params, retryOnRateLimit = retryOnRateLimit, :
3000 tweets were requested but the API can only return 398
Run Code Online (Sandbox Code Playgroud)
然后
Warning message:
In doRppAPICall("search/tweets", n, params = params, retryOnRateLimit = retryOnRateLimit, :
3000 tweets were requested but the API can only return 299
Run Code Online (Sandbox Code Playgroud)