Java и Twitter4j - поиск всех твитов / случайных твитов

Сейчас я работаю над этим кодом. Мне удалось получить твиты с определенным поисковым запросом, например - «кофе» и показать все твиты, содержащие слово кофе.

            Query query = new Query(term); // Search for tweets that

            q.setCount(100); // How many tweets, max, to
                                            // retrieve
            q.resultType(Query.MIXED);// Get all tweets

Но у меня вопрос: можно ли искать все твиты или случайные твиты вместо того, чтобы ограничивать мой поиск конкретным поисковым запросом, подобным приведенному выше - кофе? Это потому, что я хочу получать случайные твиты из одного слова из всех твитов. В одном из моих методов у меня есть код, в котором я говорю, что нужно получать твиты только из одного слова.

                    for (Status s : r.getTweets()) // Loop through all the tweets...
            {
                totalTweets++;
                if (maxID == -1 || s.getId() < maxID) {
                    maxID = s.getId();
                }

                String tweets = getTweet(s.getText());
                String delimeter = " ";
                String tweetwords[] = tweets.split(delimeter);
                if (tweetwords.length == 1) {
                    twitterFeeds.add(tweets);
                }
            }

Любая помощь будет принята с благодарностью! Спасибо!


person rory-h    schedule 18.06.2014    source источник
comment
Рассмотрите возможность использования Twitter's Holebird, который является клиентом для потокового API. Вы можете довольно далеко продвинуться, используя их пример, просто используйте поток сэмплов и не указывайте никаких терминов трека.   -  person Jonathan    schedule 19.06.2014


Ответы (1)


Воспользуйтесь образцом потока твиттера и проверьте, есть ли в твите только одно слово.

Пример: https://github.com/yusuke/twitter4j/blob/master/twitter4j-examples/src/main/java/twitter4j/examples/stream/PrintSampleStream.java

(Использует twitter4j).

Сделайте такие изменения:

public void onStatus(Status status) {
    System.out.println("@" + status.getUser().getScreenName() + " - " + status.getText());
    /*.................................
    Your code here
    */                      
}
person Ramanan    schedule 20.06.2014