2016-08-25 4 views
0

Я нахожусь в процессе создания приложения, которое будет контролировать несколько учетных записей Twitter (~ 10K) для их самых последних видов деятельности и выполнить определенный анализ на основе этого. Я могу создать слушателя для одной такой учетной записи Twitter и выполнять обработку через потоковый API, предоставляемый Twitter4j. Тем не менее, я не могу понять, как дублировать эту модель для тысяч учетных записей параллельно. Пробовал искать его через Интернет, но не смог найти удовлетворительного ответа. Это действительно достижимо? Или мне нужно подумать о каком-то другом подходе? Любая помощь будет высоко оценен.Как слушать тысячи учетных записей twitter одновременно?

Спасибо!

ответ

0

Если вы хотите следить за некоторыми пользователями, вы должны использовать фильтр. Twitter Api позволит вам следить до 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 различных пользователей, и вы получите то, что они чирикать, когда они в настоящее время ретвитов и когда они упоминаются.