【问题标题】:How to listen to thousands of twitter accounts simultaneously?如何同时收听数千个推特账号?
【发布时间】:2017-01-02 07:07:37
【问题描述】:

我正在构建一个应用程序,该应用程序将监控多个 Twitter 帐户(约 10K)的最新活动,并在此基础上进行一些分析。我可以为一个这样的 twitter 帐户创建一个监听器,并通过 Twitter4j 提供的流 API 进行处理。但是,我无法弄清楚如何为数千个帐户并行复制此模型。尝试在网上寻找它,但找不到任何令人满意的答案。真的可以实现吗?还是我需要考虑其他方法?任何帮助将不胜感激。

谢谢!

【问题讨论】:

    标签: java twitter twitter4j twitter-streaming-api


    【解决方案1】:

    如果您想关注某些用户,您应该使用过滤器。 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 位不同的用户,您将获得他们的推文、他们何时被转发以及何时被提及。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-24
      • 2016-08-06
      • 2018-09-17
      • 2015-08-12
      • 1970-01-01
      • 2021-12-15
      相关资源
      最近更新 更多