streamR,filterStream立即结束

时间:2014-08-08 21:34:00

标签: r twitter twitter-oauth

我是R的新手,如果这是一个非常简单的问题,请提前道歉。我想使用包streamR,但是当我执行filterStream函数时,我收到以下输出:

捕捉推文...... 与Twitter流的连接在0秒后关闭,最多下载了1条推文。

我想知道我是否在验证过程中错过了一个步骤。我能够成功使用twitteR包并通过searchTwitter函数获取推文。为了获得对流媒体API的访问,还有什么我需要的吗?

library("ROAuth")
library("twitteR")
library("streamR")
library("RCurl")
options(RCurlOptions = list(cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl")))

cred <- OAuthFactory$new(consumerKey="xxxxxyyyyyzzzzzz",
                     consumerSecret="xxxxxxyyyyyzzzzzzz111111222222"',
                     requestURL='https://api.twitter.com/oauth/request_token',
                     accessURL='https://api.twitter.com/oauth/access_token',
                     authURL='https://api.twitter.com/oauth/authorize')

cred$handshake(cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl") )

save(cred, file="twitter authentication.Rdata")
registerTwitterOAuth(cred)

scoring<- searchTwitter("Landon Donovan", n=100, cainfo="cacert.pem")

filterStream( file.name="tweets_rstats.json",track="Landon Donovan", tweets=10, oauth=cred)

1 个答案:

答案 0 :(得分:4)

您的凭据看起来很好。在R中工作时我遇到了一些可能的答案:

  1. 如果您尝试一次在多台计算机上运行此程序(或其他人正在使用您的API密钥),则无法运行,因为每个API密钥只允许一个连接。尝试在两个不同的项目中运行它也是一样。

  2. 互联网连接可能不允许访问API进行抓取。在某些日子或某些地方,即使建立连接后我的代码也不会运行。我不确定这是否与连接上的某些控件或交易有关,但有一天它会在客户端站点上运行而其他人则不会。但

  3. 第3。好像如果你运行拉动然后立即运行另一个拉,然后出现0推文/ 1秒消息。我认为您没有滥用费率限制,但可能需要等待一段时间才能再次流式传输。

    4。最后的建议是确保您的“应用程序首选项”中允许“读取,写入和访问直接消息”。这可能没有区别,但是你并没有限制任何联系。

    除了这些之外,我没有遇到任何“快速解决方案”,对我而言,它通常只是在等待,所以当我运行拉动时,我确保捕获大量的推文或捕获一些一次几个小时。