Я работаю над веб-приложением, которое получает все твиты в течение определенного периода времени для определенного ключевого слова. 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);
}
Знаете ли вы, если можно получить больший набор данных? Какие-либо предложения? – develop1
«Перед тем, как принять участие, важно знать, что API поиска ориентирован на релевантность, а не на полноту. Это означает, что некоторые твиты и пользователи могут отсутствовать в результатах поиска. Если вы хотите соответствовать полноте, вам следует рассмотреть возможность использования Streaming API вместо этого ». Это означает, что вам нужно использовать потоковое api – FeanDoe