1

我想要仅与特定地理位置相关的推文。在谷歌搜索之后,我发现这可以通过向 TwitterUtils 和 TwitterInputDStream 类添加额外的方法/功能来实现。但我不能这样做,因为这些是最后的课程。

帮助我我们如何实现这一目标?

提前致谢。

4

1 回答 1

0

这是创建流时我能找到的最佳答案。但是,使用此过滤器,我们会在收到推文后对其进行过滤。我认为有一种方法可以通过将过滤器提供给 twitter api 在接收它们之前进行过滤。此代码已经过验证工作,来自: http ://www.michael-goettsche.de/?p=19#return-note-19-4

    JavaDStream<Status> tweetsWithLocation = twitterStream.filter(
            new Function<Status, Boolean>() {
                public Boolean call(Status status){
                    if (status.getGeoLocation() != null) {
                        return true;
                    } else {
                        return false;
                    }
                }
            }
    );

    JavaDStream<String> statuses = tweetsWithLocation.map(
            new Function<Status, String>() {
                public String call(Status status) {
                    return status.getGeoLocation().toString() + ": " + status.getText();
                }
            }
    );
于 2015-10-04T21:04:23.440 回答