【问题标题】:Twitter4j gather only a certain countryTwitter4j 只收集某个国家
【发布时间】: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());
            }
        }

如果有人可以帮助我,那就太好了。

【问题讨论】:

    标签: api stream twitter4j


    【解决方案1】:
    filter.track(keywords);
    filter.language(language); 
    

    请记住,上面的代码表示track(keywords)language(language)。 这不是逻辑 AND。

    如果您只想要一个国家的推文,并且带有特定的关键字,那么请删除 filter.language(language) 并在获得状态后检查该国家。

    if(status.getPlace().getCountry().equalsIgnoreCase("germany")) {}
    

    //字符串比较

    如果没有来自德国的推文使用您指定的过滤器,您将不会收到来自德国的推文。

    【讨论】:

    • 感谢您的快速回答。我删除了语言过滤器以仅按关键字进行跟踪。 “获得身份后”是什么意思?我正在 onStatus 方法中检查德国。但问题仍然存在。即使我只指定一些字符作为关键字,如“a、b、c、d 等”,我仍然没有收到任何推文。当然,我的意思是“==”。我的错;)
    • 我的意思是 onStatus 方法。 if(status.getLang().equalsIgnoreCase("lang") && status.getPlace().getCountry().equalsIgnoreCase("germany")) {}
    • 使用==的字符串比较是问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多