Как исключить ретвиты из результатов моего поиска - PullRequest
3 голосов
/ 02 ноября 2011

Я пытаюсь искать твиты, используя метод поиска в twitter4j. Мой код как следует,

    public List<Tweet> searchTweets(Query searchQuery) { 
        QueryResult queryResult = twitter.search(searchQuery); 

        return queryResult != null ? queryResult.getTweets() : new 
             ArrayList<Tweet>(0); 
    } 

Как исключить ретвиты из результатов моего поискового запроса

Ответы [ 5 ]

3 голосов
/ 25 июля 2013

Я искал, как исключить ответы на запрос поиска, поэтому я нашел эту тему. Чтобы исключить ретвиты, у меня это получилось:

Query query = new Query("from:"+twitterAccount + " +exclude:retweets");
2 голосов
/ 29 декабря 2015
Query query = new Query(yourQuery + " -filter:retweets");

источник

PS.Я не знаю разницы между +exclude:retweets и -filter:retweets;кажется, что оба делают работу одинаково.

2 голосов
/ 20 февраля 2012

Я бы предпочел прокомментировать это, но пока не могу, поэтому опубликую это как ответ. Вам нужно отредактировать запрос, добавив к нему параметры. Исходный код для Query.java можно найти в папке примеров в папке twitter4j.

public Query(String query) {
    this.query = query;
}

Проверить API поиска в Twitter (атом) - исключить ретвиты . Основа поиска различна, но концепция та же самая: добавление + исключение: ретвиты в конец вашего строкового запроса. Попробуйте и дайте мне знать, если это работает!

0 голосов
/ 05 апреля 2018

Я использовал другой подход, чем выше.Смотрите мой код ниже:

List<Status> tweets = result.getTweets();
for (Status tweet : tweets )
{
      if( !tweet.isRetweet() )
      // processing .... 
} 

Это работает для меня.Однако между этими подходами могут быть различия в эффективности.

0 голосов
/ 04 декабря 2013

Вы можете использовать установленный в конструкторе конфигурации параметр setIncludeRTsEnabled со значением false, поэтому он собирается удалить ретвиты.

ConfigurationBuilder builder = new ConfigurationBuilder();
builder.setIncludeRTsEnabled(false);
Twitter twitter = new TwitterFactory(builder.build()).getInstance();
...