[英]get all tweets in a month in java
我想收集所有帶有此#標簽的推文:“#Iran”,用於2017年的第一個月,我嘗試了此代碼,但無法正常工作,請幫忙。
ConfigurationBuilder configurationBuilder = new ConfigurationBuilder()
.setDebugEnabled(true)
.setOAuthAccessTokenSecret(AccessTokenSecret)
.setOAuthAccessToken(AccessToken)
.setOAuthConsumerKey(ConsumerKey)
.setOAuthConsumerSecret(ConsumerSecret);
TwitterFactory twitterFactory = new TwitterFactory(configurationBuilder.build());
Twitter twitter = twitterFactory.getInstance();
Query query = new Query("#IRAN");
query.setCount(100);
query.setSince("2017-01-01");
query.setUntil("2017-02-01");
QueryResult queryResult = twitter.search(query);
while (queryResult.hasNext()) {
List<Status> status = queryResult.getTweets();
for (Status status1 : status) {
System.out.println("user : " + status1.getUser() + "\n" + status1.getText() + "\n" +
"ID : " + status1.getId() + "\n" + "Date : " + status1.getCreatedAt() +
"\n\n*****************************************************");
}
query = queryResult.nextQuery();
}
遺憾的是,從2017年第一個月開始,您將無法使用搜索API獲得推文。 從文檔中 :
Search API不是所有Tweets的完整索引,而是最近Tweets的索引。 目前,該索引包括6-9天之間的Tweets。
因此,您只能從搜索API獲取最新的推文。 同樣,請小心數據,因為它們來自同一文檔中的相關性而不是完整性:
在參與之前,重要的是要知道Search API專注於相關性而不是完整性。 這意味着搜索結果中可能缺少一些推文和用戶。 如果要匹配完整性,則應考慮改用Streaming API。
如果您確實需要舊的推文,則必須從Gnip等其他來源獲取它們。 否則,您將不得不以不同的方式來解決您的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.