我正在尝试使用twitter4j中的搜索方法搜索推文。我的代码是 跟着,
public List<Tweet> searchTweets(Query searchQuery) {
QueryResult queryResult = twitter.search(searchQuery);
return queryResult != null ? queryResult.getTweets() : new
ArrayList<Tweet>(0);
}
如何从搜索查询结果中排除转推
答案 0 :(得分:3)
我一直在寻找如何排除查询搜索的回复,所以我找到了这个主题。 为了排除转推,这对我很有用:
Query query = new Query("from:"+twitterAccount + " +exclude:retweets");
答案 1 :(得分:2)
我宁愿对此发表评论,但我还不能这样,我会将此作为答案发布。您需要通过向其添加参数来编辑查询。 Query.java的源代码可以在twitter4j文件夹的examples文件夹中找到。
public Query(String query) {
this.query = query;
}
结帐Twitter search (atom) API - exclude retweets。搜索基础不同,但概念是相同的,即追加+排除:转发到字符串查询的末尾。尝试一下,如果有效,请告诉我!
答案 2 :(得分:2)
Query query = new Query(yourQuery + " -filter:retweets");
PS。我不知道+exclude:retweets
和-filter:retweets
之间的区别;两者似乎都在做同样的工作。
答案 3 :(得分:0)
我使用了与上面不同的方法。请参阅下面的代码:
List<Status> tweets = result.getTweets();
for (Status tweet : tweets )
{
if( !tweet.isRetweet() )
// processing ....
}
它对我有用。但是,这些方法之间可能存在效率差异。
答案 4 :(得分:-3)
您可以在配置构建器中使用set setIncludeRTsEnabled选项为false,因此将删除转推。
ConfigurationBuilder builder = new ConfigurationBuilder();
builder.setIncludeRTsEnabled(false);
Twitter twitter = new TwitterFactory(builder.build()).getInstance();