过滤 twitter4j 流

Posted

技术标签:

【中文标题】过滤 twitter4j 流【英文标题】:Filter twitter4j stream 【发布时间】:2013-05-15 23:09:51 【问题描述】:

我正在尝试使用以下代码过滤我的 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

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

【问题讨论】:

【参考方案1】:

你不需要:

twitterStream.sample();

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

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

换句话说,调用samplefilter,但不能同时调用两者。

【讨论】:

太棒了!这是我的问题。我还有一个小问题。如果我选择跟踪一个不常用的关键字。我肯定会收到所有关于的推文吗? @Apaachee 我不能完全肯定地说,但我希望如此。我浏览了文档并没有发现任何重要的东西 - 除了withheld content。 @Apaachee 没问题 - 我很高兴能帮上忙。 :-) 我不确定你是否知道,但如果你觉得它回答了你的问题,你可以mark an answer as 'accepted'。 @Apaachee 您可能会错过未编入索引的推文。 Twitter 不保证会为您提供所有这些内容。 @vishalv2050 是的,但如果推文的频率足够低,你就得到了。因此,使用大推文过滤器,您可以拥有所有推文。

以上是关于过滤 twitter4j 流的主要内容,如果未能解决你的问题,请参考以下文章

使用twitter4j在运行时添加位置过滤器

Twitter4j,我如何注销?

Twitter4J + Android:身份验证挑战为空异常

使用 oauth 和 twitter4j 集成 Android Twitter

使用twitter4j库的Twitter Android登录错误

是否有任何选项可以使用 twitter4j 获得超过 10 个 twitter 热门话题?