我正在尝试使用twitteR函数'searchTwitter'检索约3000条带有关键字“nba”或#“标签”#iba“的推文,但它只返回299条推文用于”nba“,并在2013-01之间为”#nba“返回398条推文-01和2014-02-25。我真的很困惑,这是正常的吗?有没有其他人使用twitteR遇到过类似的问题?请帮忙。非常感谢!
library(twitteR)
library(plyr)
library(stringr)
load("~/twitter_authentication.Rdata")
registerTwitterOAuth(cred)
nbahash_tweets = searchTwitter("#nba",since='2013-01-01', until='2014-02-25',n=3000)
nba_tweets = searchTwitter("nba",since='2013-01-01', until='2014-02-25',n=3000)
Warning message:
In doRppAPICall("search/tweets", n, params = params, retryOnRateLimit = retryOnRateLimit, :
3000 tweets were requested but the API can only return 398
然后
Warning message:
In doRppAPICall("search/tweets", n, params = params, retryOnRateLimit = retryOnRateLimit, :
3000 tweets were requested but the API can only return 299
答案 0 :(得分:12)
这是由于Twitter的Search API的局限性。在Twitter的常见问题解答中我发现了以下问题: Why are the Tweets I'm looking for not in Twitter Search, the Search API, or Search widgets?
在那里写道:
由于容量限制,该索引目前仅涵盖一周左右的推文。
因此,即使您想从2013年1月1日开始下载推文,您最多只能在一周前收到推文。所以推文的数量不会那么大。
此外,他们说:
我们的搜索服务并不是公开推文的详尽存档,也不是所有推文都被编入索引或返回。
因此,可用的推文更少。
因此,据我所知,您的代码应该没问题,而且下载的推文数量很少是由搜索API引起的。