是否有可能获得超过100条推文?

是否有可能使用Twitter4j API获得超过100条推文?
如果是这样,任何人都可以指出这样做的方法吗?

需要查看您的代码以提供特定于您的案例的代码示例,但您可以通过since_idmax_id执行此since_id

此信息适用于Twitter API。

要获得之前的 100条推文:

  1. 找到您刚刚使用查询检索到的集合中的最低 ID
  2. 执行相同的查询,并将max_id选项设置为您刚刚找到的ID。

要获得接下来的 100条推文:

  1. 找到您刚刚使用查询检索到的集合中的最高 ID
  2. 使用设置为刚刚找到的id的since_id选项执行相同的查询。

在Twitter4j中,您的Query对象有两个表示上述API选项的字段: sinceIdmaxId

你不能每个请求加载超过100条推文,但我不知道你为什么要这样,而是你可以在“无尽页面”中加载所有推文,即每次用户滚动列表时加载10个项目。

例如

 Query query = new Query("stackoverflow"); query.setCount(10);// sets the number of tweets to return per page, up to a max of 100 QueryResult result = twitter.search(query); 

现在如果你想加载下一页简单容易

 if(result.hasNext())//there is more pages to load { query = result.nextQuery(); result = twitter.search(query); } 

等等。

以下是如何为用户获取所有推文(或至少高达~3200):

 import java.util.*; import twitter4j.*; import twitter4j.conf.*; ConfigurationBuilder cb = new ConfigurationBuilder(); cb.setOAuthConsumerKey(""); cb.setOAuthConsumerSecret(""); cb.setOAuthAccessToken(""); cb.setOAuthAccessTokenSecret(""); Twitter twitter = new TwitterFactory(cb.build()).getInstance(); int pageno = 1; String user = "cnn"; List statuses = new ArrayList(); while (true) { try { int size = statuses.size(); Paging page = new Paging(pageno++, 100); statuses.addAll(twitter.getUserTimeline(user, page)); if (statuses.size() == size) break; } catch(TwitterException e) { e.printStackTrace(); } } System.out.println("Total: "+statuses.size()); 

使用最低id迭代到较旧页面的某些Java代码可能如下所示:

 Query query = new Query("test"); query.setCount(100); int searchResultCount; long lowestTweetId = Long.MAX_VALUE; do { QueryResult queryResult = twitterInstance.search(query); searchResultCount = queryResult.getTweets().size(); for (Status tweet : queryResult.getTweets()) { // do whatever with the tweet if (tweet.getId() < lowestTweetId) { lowestTweetId = tweet.getId(); query.setMaxId(lowestTweetId); } } } while (searchResultCount != 0 && searchResultCount % 100 == 0); 

为了增加Luke的方法,Twitter4j确实为查询提供了分页。 您可以尝试为查询提取多个页面。 设置每页的结果和页码。

但我建议首先尝试使用since_id ,然后尝试分页。

对于给定的查询,可以提取超过100条推文。 有关快速演示,您可以从http://preciselyconcise.com/apis_and_installations/tweets_extraction_from_twitter.php下载用于推文提取的twitter GUI应用程序。

通过从该查询的所有可用页面中提取查询结果,您将能够在该查询下提取超过100条推文(如果可用)。 我下载了该网站提供的GUI应用程序,我能够提取超过1000条推文用于查询#happy。