2017-02-03 2 views
0

Ich beginne mit Twitter4j, ich brauche Tweet von Stream mit einem bestimmten Hashtag.Twitter4j: Unterschied zwischen Suche und Spur

fand ich 2 Methoden:

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); 

und

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"); 
      } 
     } 
    } 

Was ist der Unterschied zwischen ihnen? Welche Methode eignet sich am besten für die Suche nach einem bestimmten Hashtag?

Antwort

0

Suche: Sie alle vorhandenen Tweets mit dem Hashtag gegeben jetzt abruft.

Spur: alle Tweets die gegebene Hashtag enthalten sein wird gestreamt Sie ab sofort.

Verwandte Themen