【发布时间】:2014-08-17 12:29:37
【问题描述】:
对于我目前正在进行的一个项目,我只需要从一个国家/地区的信息流中收集推文。 尽管 Twitter4j 流 API 允许按语言过滤,但结果不够准确。所以我想通过检查推文的国家属性是否被填充来在过滤器之上放置一个过滤器。当我检查是否有一个值时,这很好用:
if(status.getPlace().getCountry() != null) {
System.out.println("User: " + status.getUser().getName());
System.out.println("Text: : " + status.getText());
System.out.println("Country: " + status.getPlace().getCountry());
System.out.println("Language: " + status.getLang());
}
}
TwitterStream ts = new TwitterStreamFactory(cb.build()).getInstance();
ts.addListener(listener);
FilterQuery filter = new FilterQuery();
String[] language = {"country"};
String[] keywords = {"some keywords"};
filter.track(keywords);
filter.language(language);
ts.filter(filter);
但是,如果我检查某个国家/地区,例如德国 我没有收到任何推文:
if(status.getPlace().getCountry() != "germany") {
System.out.println("User: " + status.getUser().getName());
System.out.println("Text: : " + status.getText());
System.out.println("Country: " + status.getPlace().getCountry());
System.out.println("Language: " + status.getLang());
}
}
如果有人可以帮助我,那就太好了。
【问题讨论】: