我正在使用twitter4j搜索推文。我看到有人说它可以搜索两个日期之间的推文,它可以返回超过100条推文(默认情况下最多100条推文)。但在我尝试之后,它不起作用。我只能检索从Mon Jul 01 14:55:36到Jul 01 23:47:50的100条推文。谁能告诉我我做错了什么?
Query query = new Query("haze")
query.setSince("2013-06-30");
query.setUntil("2013-07-02");
query.geoCode(new GeoLocation(XXX, XXX), 200, Query.KILOMETERS);
发布于 2013-07-03 19:38:35
你是对的,你被限制在最多100条Status
,但你可以做的是用收到的最后一条推文的Id
设置Query#sinceId(long)
,这样你就可以有效地浏览结果,例如:
final QueryResult result = twitter.search(query); // 100 Tweets
final Status lastStatus = getLast(result.getTweets());
query.sinceId(lastStatus.getId());
final QueryResult nextResult = twitter.search(query); // Another 100 Tweets
// and so on...
您可以很容易地将上述代码放入循环中,但要小心不要达到任何速率限制。此外,请注意您不能search for Tweets older than about a week using the search api。
https://stackoverflow.com/questions/17438592
复制相似问题