我试图用R中的streamR
来下载和分析Twitter,假装该库可以克服twitteR
包中的限制。
在下载数据时,一切似乎都可以使用filterStream
函数来完成(为了澄清起见,该函数捕获Twitter数据,只需运行它即可提供保存在工作目录中的json文件,该文件需要在后续步骤中使用):
filterStream( file.name="tweets_test.json",
track="NFL", tweets=20, oauth=credential, timeout=10)
Capturing tweets...
Connection to Twitter stream was closed after 10 seconds with up to 21 tweets downloaded.
但是,在继续解析json
文件时,我不断遇到各种错误:
readTweets("tweets_test.json", verbose = TRUE)
0 tweets have been parsed.
list()
Warning message:
In readLines(tweets) : incomplete final line found on 'tweets_test.json'
或通过同一软件包使用此功能:
tweet_df <- parseTweets(tweets='tweets_test.json')
Error in `$<-.data.frame`(`*tmp*`, "country_code", value = NA) :
替换有1行,数据有0 另外:警告消息: 在stream_in_int(path.expand(path))中:第0行的解析错误
我尝试使用json
和jsonlite
读取rjson
文件,结果相同。
最初,该错误似乎来自({, then \)
文件中的特殊字符json
,我根据该post的建议尝试清除该字符,但是并没有发现太多错误它的。
我从此post中了解了streamR
软件包,该软件包显示了非常简单,非常简单的过程(解析部分除外!)。
如果您有任何使用此库和/或这些解析问题的经验,我将非常感谢您的投入。我一直在搜寻,但无法找到解决方案。
谢谢!