【问题标题】:Filter twitter4j stream过滤 twitter4j 流
【发布时间】: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

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

【问题讨论】:

    标签: java filter twitter4j


    【解决方案1】:

    你不需要:

    twitterStream.sample();
    

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

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

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

    【讨论】:

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