Периодическое извлечение данных из twitter4j Steaming API


Я хочу извлекать периодические данные из твиттера с помощью потокового API twitter4j.
Например: мне нужны данные твитов с 03.03.2014 по 05.04.2014. Я пробовал, но не получил ожидаемого результата. Также искал некоторые решения, но не нашел подхода к решению этой проблемы.

Я пытаюсь использовать следующий код:

public class Twitter_Data {

    public static void main(String[] args) {

        ConfigurationBuilder cb = new ConfigurationBuilder();
        cb.setDebugEnabled(true);
        cb.setOAuthConsumerKey("myKey");
        cb.setOAuthConsumerSecret("mySecretCode");
        cb.setOAuthAccessToken("Token");
        cb.setOAuthAccessTokenSecret("secret token");
        TwitterStream twitterStream = new TwitterStreamFactory(cb.build())
                .getInstance();

        StatusListener listener = new StatusListener() {
            @Override
            public void onStatus(Status status) {
                User user = status.getUser();

                // gets Username info
                long userId = user.getId();
                String userNm = user.getName();
                System.out.println("User ID: " + userId);
                System.out.println("User Name: " + userNm);

                String profileLocation = user.getLocation();
                System.out.println(profileLocation);

                long tweetId = status.getId();
                System.out.println(tweetId);
                String content = status.getText();
                System.out.println(status.toString() + "\n");
            }

        };
        FilterQuery fq = new FilterQuery();
        String keywords[] = { "Key word" };
        fq.track(keywords);
        twitterStream.addListener(listener);
        twitterStream.filter(fq);

    }

}

может ли кто-нибудь помочь мне, чтобы извлечь периодические данные с помощью этого кода. Заранее спасибо.


person Vikram Singh Chandel    schedule 09.12.2014    source источник


Ответы (1)


Я хочу извлекать периодические данные из твиттера, используя потоковый API twitter4j.

Вы не можете этого сделать, Streaming API предназначен для твитов в тот момент, когда вы начинаете его использовать. В вашем примере вы получите твиты о вашем ключевом слове, которые люди пишут прямо сейчас. С API Twitter вы не можете получать твиты в течение определенного периода времени.

person FeanDoe    schedule 09.12.2014
comment
Спасибо за ответ, не могли бы вы сказать мне, что мне делать для извлечения периодических данных из твиттера. Есть ли другой способ получить данные. - person Vikram Singh Chandel; 09.12.2014
comment
Вы можете использовать другие источники, такие как Gnip (платный) или, возможно, Topsy, которая бесплатна и имеет API. (но я действительно не знаю, как его использовать, извините :)) - person FeanDoe; 10.12.2014