我正在构建一个应用程序,该应用程序将监控多个Twitter帐户(~10K)的最新活动,并基于此执行一些分析。我能够为一个这样的twitter帐户创建一个侦听器,并通过Twitter4j提供的流API进行处理。但是,我不知道如何为并行的数千个帐户复制这个模型。我试着在网上找,但没有找到满意的答案。这真的可以实现吗?或者我需要考虑其他方法吗?如有任何帮助,我将不胜感激。
谢谢!
如果你想关注一些用户,你应该使用过滤器。Twitter Api允许您通过id和一个凭据跟踪最多5000个用户,如下所示:
StatusListener statusListener = new StatusListener() {
@Override
public void onStatus(Status status) {
//your code to manage the statuses
}
//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);
//from here is different at your code
//you need to set up your user list, with their users id's!
long[] userslist = YOUR USER LIST;
//then you create a filter
FilterQuery filtre = new FilterQuery();
//and use that filter to follow the users that you want and to start the stream
filtre.follow(userslist);
twitterStream.filter(filtre);
有了过滤器,你可以跟踪5000个不同的用户,你会得到他们的推文,当他们被转发,当他们被提及。