我正在尝试根据来自Twitter的特定单词检索推文。我在R中使用了twitteR和streamR包。
要使用twitteR访问推文我使用searchTwitter("love", n=50)
,而当我使用streamR包时,我使用filterStream("tweets.json", track = c("love"), timeout = 30, oauth = my_oauth)
然而,对于我尝试过的几乎所有搜索词,searchTwitter会返回更多推文,而filterStream则无法获得那么多推文。
可能的原因是什么?
答案 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=50
和streamR
包适用于不同的内容:http://pablobarbera.com/blog/archives/1.html如果要访问流,请使用twitteR
,如果要访问Twitter历史记录,请使用streamR
包。两个包都相互补充。