2017-02-06 18 views
0

Я работаю над веб-приложением, которое получает все твиты в течение определенного периода времени для определенного ключевого слова. API Twitter4J не возвращает все твиты, но наиболее релевантно. Есть ли способ получить все твиты для определенного ключевого слова? Я попытался установить тип результата запроса на RECENT, но это все еще не удалось получить все.Twitter Поиск всего содержимого вместо релевантности

Я знаю о потоковом API Twitters, но я не могу собирать данные в течение определенного периода времени. Ключевое слово поиска может быть для всего, поэтому сбор и хранение столь большого количества данных не является разумным.

public static void main(String[] args) throws TwitterException { 

    Twitter twitter = TwitterFactory.getSingleton(); 
    Query query = new Query("(amazon) AND (stock)"); 
    query.setCount(100); 
    query.setLang("en"); 
    query.setResultType(Query.RECENT); 
    query.setSince("2017-02-06"); 

    QueryResult result = twitter.search(query); 
    System.out.println("PRINTING:"); 

    int numberOfTweets = 0; 
    for (Status status : result.getTweets()) { 
     numberOfTweets++; 
     System.out.println("-----------------------------------"); 
     System.out.println("@" + status.getUser().getScreenName() + "-" + status.getCreatedAt() + ":"); 
     System.out.println(status.getText()); 
    } 
    System.out.println(numberOfTweets); 

} 

ответ

2

documentation on the Search API От

Пожалуйста, обратите внимание, что служба поиска Twitter и, выдвижением, Search API не предназначен, чтобы быть исчерпывающим источником твиты. Не все твиты будут проиндексированы или доступны через интерфейс поиска.

Вы не можете получить все.

+0

Знаете ли вы, если можно получить больший набор данных? Какие-либо предложения? – develop1

+0

«Перед тем, как принять участие, важно знать, что API поиска ориентирован на релевантность, а не на полноту. Это означает, что некоторые твиты и пользователи могут отсутствовать в результатах поиска. Если вы хотите соответствовать полноте, вам следует рассмотреть возможность использования Streaming API вместо этого ». Это означает, что вам нужно использовать потоковое api – FeanDoe