Twitter4j:显示在特定用户帐户上搜索词的所有推文
问题描述:
我想查找特定用户帐户上有特定词的所有推文。Twitter4j:显示在特定用户帐户上搜索词的所有推文
String searchWord = "cat";
String userAccount = "....";
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true)
.setOAuthConsumerKey("xxxxx")
.setOAuthConsumerSecret("xxxxx")
.setOAuthAccessToken("xxxxx")
.setOAuthAccessTokenSecret("xxxxx");
TwitterFactory tf = new TwitterFactory(cb.build());
Twitter twitter = tf.getInstance();
这种方法给我帐户的所有鸣叫在String userAccount
:
List<Status> statusList = twitter.getUserTimeline(userAccount);
for (Status status : statusList) {
System.out.println(status.getUser().getName() + " : " + status.getText());
}
这种方法给我所有的鸣叫与包括搜索词,但随机用户:
Query query = new Query(searchWord);
QueryResult result = twitter.search(query);
for (Status status : result.getTweets()) {
System.out.println("@" + status.getUser().getScreenName() + ":" + status.getText());
}
如何加入这两种方法在帐户userAccount
中找到所有与单词相关的推文searchWord
。
答
如果您想要获取特定用户的特定单词的所有推文,则应使用第一种方法,并仅显示包含所需单词的推文。换句话说:
String yourstring = "your text";
List<Status> statusList = twitter.getUserTimeline(userAccount);
for (Status status : statusList) {
if(status.getText().toLowerCase().contains(yourstring)){
System.out.println(status.getUser().getName() + " : " + status.getText());
}
}
它的工作,很棒,thx –