Java Twitter4j:搜索和跟踪的区别
我从Twitter4j开始,我需要用一个特定的标签从流中获取Tweet 我找到了两种方法:Java Twitter4j:搜索和跟踪的区别,java,twitter4j,Java,Twitter4j,我从Twitter4j开始,我需要用一个特定的标签从流中获取Tweet 我找到了两种方法: StatusListener listener = new StatusListener() { ... public void onStatus(Status status) { statuses.add(status); HashtagEntity[] H = status.getHashtagEntities();
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);
StatusListener=newstatusListener(){
...
公共无效状态(状态){
状态。添加(状态);
HashtagEntity[]H=status.getHashtagEntities();
System.out.println(statuses.size()+”:得到tweet:\n“+状态.获取文本()+”\n“+状态.获取用户().获取屏幕名称()
+“|”+status.getId()+“|”+H.length+“\n”);
如果(H.长度>0){
对于(int i=0;i nbremax){
已同步(锁定){
lock.notify();
}
系统输出打印项次(“解锁”);
}
}
}
FilterQuery fq=新建FilterQuery();
fq.track(“hashtag”);
TwitterStream TwitterStream=。。。;
twitterStream.addListener(listener);
twitterStream.filter(fq);
及
Twitter=。。。;
查询=新查询(“#hastag”);
QueryResult result=twitter.search(查询);
对于(状态:result.getTweets()){
HashtagEntity[]H=status.getHashtagEntities();
System.out.println(“获得tweet:\n”+status.getText()
+“\n”+status.getUser().getScreenName()+“|”+status.getId()+
“|转发?”+status.isRetweet()+“|”+H.length);
System.out.println(status.getCreatedAt()+“|”+status.getGeoLocation()+
“|”+status.getPlace()+“|”+status.getSource());
如果(H.长度>0){
对于(int i=0;i搜索:您将立即检索包含给定标签的所有现有推文
跟踪:从现在起,所有包含给定标签的tweet都将以流式方式发送给您
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");
}
}
}