2017-06-13 102 views
-1

我要用twitter標籤進行感性分析,並且我正在爲這個項目使用Java。如何編碼Java以搜索特定的哈希標籤並顯示文本?用Java尋找Twitter標籤

這是我已經試過:

public static void main(String[] args) throws TwitterException { 
    ConfigurationBuilder configurationBuider = new ConfigurationBuilder(); 
    configurationBuider.setDebugEnabled(true) 
      .setOAuthConsumerKey("") 
      .setOAuthConsumerSecret("") 
      .setOAuthAccessToken("") 
      .setOAuthAccessTokenSecret(""); 

    TwitterFactory tf=new TwitterFactory(configurationBuider.build()); 
    twitter4j.Twitter twitter=tf.getInstance(); 

    List<Status> status=twitter.getHomeTimeline(); 
    for(Status s:status){ 
     System.out.println(s.getUser().getName()+" "+s.getText()); 
    } 
} 

}

我所得到的僅僅是用戶名和時間軸上的文字。 謝謝你的幫助。

回答

0

的問題是不是你想要做什麼完全清楚,但這裏是我的解釋:

你要搜索最近的20個Twitter消息的主題標籤上 時間軸特定井號。如果該帖子包含 #標籤,則您希望顯示發佈該帖子的用戶以及帖子的文字 。

下面是我認爲這是一個工作示例。

public static void main(String[] args) throws TwitterException { 
ConfigurationBuilder configurationBuider = new ConfigurationBuilder(); 
configurationBuider.setDebugEnabled(true) 
     .setOAuthConsumerKey("") 
     .setOAuthConsumerSecret("") 
     .setOAuthAccessToken("") 
     .setOAuthAccessTokenSecret(""); 

TwitterFactory tf=new TwitterFactory(configurationBuider.build()); 
twitter4j.Twitter twitter=tf.getInstance(); 

// You can pull this in from user input, etc. 
String hashTagToSearchFor = "testme"; 

List<Status> status=twitter.getHomeTimeline(); 
for(Status s:status){ 
    HashtagEntity[] hashTags = s.getHashtagEntities(); 
    for (HashtagEntity hashtag : hashTags) { 
     if (hashtag.equals(hashTagToSearchFor)) { 
      System.out.println(s.getUser().getName() + ": " + s.getText()); 

      // Assuming all hashtags are unique... 
      continue; 
     } 
    } 
} 
} 

請讓我知道如果我做了任何不正確的假設,我很樂意編輯我的答案進行調整。

+0

感謝的人。我試過你的代碼,它什麼也沒有顯示。代碼運行成功,我把「運動」放在Hashtag中搜索,但沒有使用#sport的註釋出現。 –

+0

你有任何我們可以更輕鬆地交談的社交應用嗎? –

+0

我不幸。我要做的第一件事是打印出每個帖子的整個hashtagen列表,看看它們是什麼,因爲記住:twitter.getHomeTimeline()只返回20個帖子。您可以探索twitter4j javadoc以查看可以獲取帖子的其他方法。 –

0

謝謝你的人我已經解決了這樣Kylon泰納

Query query = new Query("flood"); 
    QueryResult result = twitter.search(query); 
    for (Status status : result.getTweets()) { 
     System.out.println("@" + status.getUser().getScreenName() + " : " + status.getText() + " : " + status.getGeoLocation()); 
    }