R中streamR和twitteR包收到的推文的差异

时间:2015-05-05 14:43:50

标签: r twitter

我正在尝试根据来自Twitter的特定单词检索推文。我在R中使用了twitteR和streamR包。

要使用twitteR访问推文我使用searchTwitter("love", n=50),而当我使用streamR包时,我使用filterStream("tweets.json", track = c("love"), timeout = 30, oauth = my_oauth)

然而,对于我尝试过的几乎所有搜索词,searchTwitter会返回更多推文,而filterStream则无法获得那么多推文。

可能的原因是什么?

1 个答案:

答案 0 :(得分:9)

您的timeout = 30选项很可能是此处的罪魁祸首。 filterStream()timeout选项中指定的持续时间内访问Twitter流API。来自searchR的{​​{1}} documentation

  

数字,连接到流的最大时间长度(以秒为单位)。   在此期间后,连接将自动关闭。对于   例如,将超时设置为10800将使连接保持打开3   小时。默认值为0,这将保持连接打开   永久

这意味着带有timeout选项的filterStream会在30秒内收听Twitter流。

另一方面,

timeout = 30搜索API中可用的Twitter历史记录(6-9 days),直到searchTwitter()选项中指定的最大推文数。所以这应该会产生50条推文。

n=50streamR包适用于不同的内容:http://pablobarbera.com/blog/archives/1.html如果要访问流,请使用twitteR,如果要访问Twitter历史记录,请使用streamR包。两个包都相互补充。