我试图根据来自twitter的特定单词检索推文.我在R中使用了twitteR和streamR包.
为了使用twitteR访问推文,我使用的是searchTwitter("love", n=50)当我使用streamR包时使用filterStream("tweets.json", track = c("love"), timeout = 30, oauth = my_oauth)
然而,对于我尝试过的几乎所有搜索术语,searchTwitter返回了更多的推文,而filterStream则无法获得那么多.
可能的原因是什么?
你的timeout = 30选择很可能是罪魁祸首.filterStream()在timeout选项中指定的持续时间内访问Twitter流API .从searchR 文件中timeout:
数字,连接到流的最大时间长度(以秒为单位).在此期间后,连接将自动关闭.例如,将超时设置为10800将使连接保持打开状态3小时.默认值为0,这将使连接永久保持打开状态
这意味着filterStream使用timeout = 30选项侦听Twitter流30秒.
searchTwitter()另一方面,搜索API中可用的Twitter历史记录(6-9天),直到n=50选项中指定的最大推文数.所以这应该会产生50条推文.
这些streamR和twitteR包用于不同的东西:http://pablobarbera.com/blog/archives/1.html如果要访问流,请使用streamR,如果要访问Twitter历史记录,请使用该twitteR包.两个包都相互补充.