2017-02-03 2 views
0

私はTwitter4jから始まり、特定のハッシュタグでストリームからツイートを取得する必要があります。Twitter4j:検索とトラックの違い

私は2つの方法が見つかりました:それらの間の違いは何ですか

StatusListener listener = new StatusListener() { 
... 
    public void onStatus(Status status) { 
       statuses.add(status); 
       HashtagEntity[] H = status.getHashtagEntities(); 
       System.out.println(statuses.size()+":Got tweet:\n" + status.getText()+"\n"+status.getUser().getScreenName() 
         + " | "+status.getId()+" | "+H.length+"\n"); 
       if(H.length>0){ 
        for(int i=0;i<H.length-1;i++){ 
         System.out.print(H[i]+""); 
        } 
       } 
       if (statuses.size() > nbremax) { 
        synchronized (lock) { 
         lock.notify(); 
        } 
        System.out.println("unlocked"); 
       } 
      } 
} 
FilterQuery fq = new FilterQuery();  
fq.track("#hashtag"); 
TwitterStream twitterStream = ...; 
twitterStream.addListener(listener); 
twitterStream.filter(fq); 

Twitter twitter = ...; 
Query query = new Query("#hastag"); 
QueryResult result = twitter.search(query); 
for (Status status : result.getTweets()) { 
    HashtagEntity[] H = status.getHashtagEntities(); 
    System.out.println("Got tweet:\n" + status.getText() 
      +"\n"+status.getUser().getScreenName()+ " | "+status.getId()+ 
      " | retweet ? "+status.isRetweet()+" | "+H.length); 
    System.out.println(status.getCreatedAt()+" | "+status.getGeoLocation()+ 
        " | "+status.getPlace()+" | "+status.getSource()); 
    if(H.length>0){ 
     for(int i=0;i<H.length;i++){ 
      System.out.print(H[i].getText()+" ; "); 
      if(i==H.length-1){ 
       System.out.println("\n"); 
      } 
     } 
    } 

を?特定のハッシュタグを検索するにはどの方法が最適ですか?

答えて

0

検索:あなたが今与えられたハッシュタグを含むすべての既存のツイートを取得します。

トラック:指定されたハッシュタグを含むすべてのツイートはからあなたをストリーミングされます。

関連する問題