繁体   English   中英

Twitter4j:搜索和跟踪之间的区别

[英]Twitter4j : difference between search and track

我从Twitter4j开始,我需要从Stream获得带有特定主题标签的Tweet。

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

它们之间有什么区别? 哪种方法最适合搜索特定的主题标签?

搜索 :您将检索包含给定主题标签,现在 所有现有的鸣叫。

跟踪 :所有包含给定标签的推文将从现在开始 流式传输给您。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM