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

use*_*342 2 twitter r

我试图根据来自twitter的特定单词检索推文.我在R中使用了twitteR和streamR包.

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

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

可能的原因是什么?

Fel*_*lix 9

你的timeout = 30选择很可能是罪魁祸首.filterStream()timeout选项中指定的持续时间内访问Twitter流API .从searchR 文件timeout:

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

这意味着filterStream使用timeout = 30选项侦听Twitter流30秒.

searchTwitter()另一方面,搜索API中可用的Twitter历史记录(6-9天),直到n=50选项中指定的最大推文数.所以这应该会产生50条推文.

这些streamRtwitteR包用于不同的东西:http://pablobarbera.com/blog/archives/1.html如果要访问流,请使用streamR,如果要访问Twitter历史记录,请使用该twitteR包.两个包都相互补充.

  • 不.`streamR`和`twitteR`用于不同的事情:http://pablobarbera.com/blog/archives/1.html正如我所说,如果你想访问流,请使用`streamR`,如果你想要使用`twitteR`包访问Twitter历史记录.两个包都相互补充.我已将此信息添加到上面的答案中,以使其更清晰. (3认同)
  • 是的,`searchTwitter`不会收听API流,而是搜索Twitter历史记录.`filterStream`访问*stream*,如果世界上没有人在30秒内写下"爱情"(多么悲伤的世界!),你就得不到任何结果.这两个命令访问不同的东西(searchTwitter = Twitter历史,filterStream =当前的Twitter流).希望澄清这个问题. (2认同)