【问题标题】:Find Twitter hashtag with Java使用 Java 查找 Twitter 主题标签
【发布时间】:2017-11-15 19:10:48
【问题描述】:

我将使用 twitter 主题标签进行情感分析,并且我正在为这个项目使用 Java。如何编写 Java 代码以搜索特定主题标签并显示文本?

这是我尝试过的:

public static void main(String[] args) throws TwitterException {
    ConfigurationBuilder configurationBuider = new ConfigurationBuilder();
    configurationBuider.setDebugEnabled(true)
            .setOAuthConsumerKey("")
            .setOAuthConsumerSecret("")
            .setOAuthAccessToken("")
            .setOAuthAccessTokenSecret("");

    TwitterFactory tf=new TwitterFactory(configurationBuider.build());
    twitter4j.Twitter twitter=tf.getInstance();

    List<Status> status=twitter.getHomeTimeline();
    for(Status s:status){
        System.out.println(s.getUser().getName()+"    "+s.getText());
    }
}

}

我得到的只是用户名和时间轴上的文字。 谢谢你们的帮助。

【问题讨论】:

    标签: java twitter twitter4j hashtag


    【解决方案1】:

    这个问题并不完全清楚你想要做什么,但这是我的解释:

    您想搜索 20 个最新推特帖子的主题标签 特定主题标签的时间线。如果该帖子包含 标签,你想显示发布它的用户和文本 帖子。

    以下是我认为的一个有效示例。

    public static void main(String[] args) throws TwitterException {
    ConfigurationBuilder configurationBuider = new ConfigurationBuilder();
    configurationBuider.setDebugEnabled(true)
            .setOAuthConsumerKey("")
            .setOAuthConsumerSecret("")
            .setOAuthAccessToken("")
            .setOAuthAccessTokenSecret("");
    
    TwitterFactory tf=new TwitterFactory(configurationBuider.build());
    twitter4j.Twitter twitter=tf.getInstance();
    
    // You can pull this in from user input, etc.
    String hashTagToSearchFor = "testme";
    
    List<Status> status=twitter.getHomeTimeline();
    for(Status s:status){
        HashtagEntity[] hashTags = s.getHashtagEntities();
        for (HashtagEntity hashtag : hashTags) {
            if (hashtag.equals(hashTagToSearchFor)) {
                System.out.println(s.getUser().getName() + ": " + s.getText());
    
                // Assuming all hashtags are unique...
                continue;
            }
        }
    }
    }
    

    如果我做出了任何不正确的假设,请告诉我,我很乐意编辑我的答案以进行调整。

    【讨论】:

    • 谢谢哥们。我试过你的代码,它什么也没显示。代码运行成功,我在 Hashtag 中放入“sport”进行搜索,但没有出现使用#sport 的评论。
    • 你有什么社交应用可以让我们聊得更轻松吗?
    • 不幸的是我没有。我要做的第一件事是打印出每个帖子的整个 hashtagentries 列表,看看它们是什么,因为请记住:twitter.getHomeTimeline() 只返回 20 个帖子。您可以浏览 twitter4j javadoc 以了解还有哪些其他方法可用于获取帖子。
    • 如何打印出整个列表?
    • 取出检查 hashtag.equals(hashTagToSearchFor) 的 if 语句,而只使用 System.out.println(hashtag) 或可能 hashtag.toString() 我不知道它是否是字符串或不离开我的头顶
    【解决方案2】:

    谢谢你,我已经通过这样做 Kylon Tyner 解决了

        Query query = new Query("flood");
        QueryResult result = twitter.search(query);
        for (Status status : result.getTweets()) {
            System.out.println("@" + status.getUser().getScreenName() + " : " + status.getText() + " : " + status.getGeoLocation());
        }
    

    【讨论】:

      猜你喜欢
      • 2018-06-26
      • 2011-06-22
      • 2011-10-30
      • 2015-05-15
      • 1970-01-01
      • 1970-01-01
      • 2012-10-21
      • 1970-01-01
      相关资源
      最近更新 更多