我想查找特定用户帐户中有特定字词的所有推文。
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
中包含字词的所有推文。
答案 0 :(得分:1)
如果您希望获得特定用户的特定字词的所有推文,您应该使用第一种方法并仅显示带有您想要的字词的推文。换句话说:
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());
}
}