过滤 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
,您实际上是用样本流替换了您的听众收到的过滤流,这是一个随机选择的推文。
换句话说,调用sample
或filter
,但不能同时调用两者。
【讨论】:
太棒了!这是我的问题。我还有一个小问题。如果我选择跟踪一个不常用的关键字。我肯定会收到所有关于的推文吗? @Apaachee 我不能完全肯定地说,但我希望如此。我浏览了文档并没有发现任何重要的东西 - 除了withheld content。 @Apaachee 没问题 - 我很高兴能帮上忙。 :-) 我不确定你是否知道,但如果你觉得它回答了你的问题,你可以mark an answer as 'accepted'。 @Apaachee 您可能会错过未编入索引的推文。 Twitter 不保证会为您提供所有这些内容。 @vishalv2050 是的,但如果推文的频率足够低,你就得到了。因此,使用大推文过滤器,您可以拥有所有推文。以上是关于过滤 twitter4j 流的主要内容,如果未能解决你的问题,请参考以下文章
Twitter4J + Android:身份验证挑战为空异常
使用 oauth 和 twitter4j 集成 Android Twitter