java - 过滤 twitter4j 流

标签 java filter twitter4j

我正在尝试使用以下代码过滤我的 twitter4j 流:

    TwitterStream twitterStream = getTwitterStreamInstance();

    // Listener
    twitterStream.addListener(listener);

    // Filter
    FilterQuery filtre = new FilterQuery();
    String[] keywordsArray = { "iphone", "samsung" };
    filtre.track(keywordsArray);
    twitterStream.filter(filtre);

    // Listening
    twitterStream.sample();

但结果是,例如:

27/59 - "Taking a risk over something only means that you want it more than anything"
28/63 - The more attractive you are, the more awkward I am.
29/64 - the thing about pain is that it demands to be felt

而且我没有恢复我想关注的关键词,问题出在哪里?

最佳答案

你不需要:

twitterStream.sample();

如果删除它,您应该会开始看到与您的过滤器查询相匹配的推文。

当您调用 filter 时,您的听众将收到过滤后的推文,但是因为您随后调用了 sample,您实际上是在用示例流替换您的听众正在接收的过滤流,这是一个随机选择的推文。

换句话说,要么调用 samplefilter , 但不是两者。

关于java - 过滤 twitter4j 流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16665683/

相关文章:

android - 如何使用 Twitter4j api 回复推文?

java - Spring Data 从方法名称生成查询时出错

java - 如何在aws上继续运行java应用程序?

python - 如何过滤元组中的第二个元素?

r - 如何根据另一个数据框中的多个列值进行过滤?

r - 从单行中相同 UserID 的不同列收集非空行(POSIXct 格式)

android - twitter 不能在 android 中使用 twitter4j

java - FilterChain 抛出 javax.servlet.ServletException : IteratedExpression. getItem:索引超出范围

java - 在 Java 中使用文件 io 创建高分

java - 使用 Java 获取 Twitter 的个人资料