我尝试使用StatusListener和TwitterStream方式来更清晰地执行此操作,但似乎没有从我想要的用户那里捕获所有推文。
StatusListener statusListener = new StatusListener() {
@Override
public void onStatus(Status status) {
//my code
}
//other requiredly-overriden methods
}
ConfigurationBuilder configurationBuilder = new ConfigurationBuilder();
configurationBuilder.setOAuthConsumerKey("XXXXX");
configurationBuilder.setOAuthConsumerSecret("XXXXXXX");
TwitterStream twitterStream = new TwitterStreamFactory(configurationBuilder.build()).getInstance(new AccessToken("XXXXX", "XXXXXXX"));
twitterStream.addListener(statusListener);
twitterStream.sample();
因此,我每3秒钟手动检查一下是否有我想要的用户发布了新的推文。这很完美,但似乎不洁净和黑客。还有更好的方法吗?
答案 0 :(得分:3)
我不完全明白。您是如何尝试从您感兴趣的用户那里获取推文?如果您只是使用Twitter流,然后检查推文是否来自您想要的用户,您可以从不同的来源获取推文(如果有很多,可能会丢失一些推文)。
如果您想关注某些用户,则应使用过滤器,如下所示:
ClassB
通过过滤器,您可以跟踪多达5000个不同的用户,当他们被转发时以及被提及时,您将获得他们发推的内容