【问题标题】:Twitter4j: show all tweets with searching word on specific user accountTwitter4j:在特定用户帐户上显示所有带有搜索词的推文
【发布时间】:2016-09-15 02:26:09
【问题描述】:

我想查找在特定用户帐户上有特定单词的所有推文。

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 中包含单词的推文。

【问题讨论】:

    标签: java twitter twitter4j


    【解决方案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());
      }
     } 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-12
      • 1970-01-01
      • 2014-07-10
      • 1970-01-01
      • 2022-08-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多