使用Java查找Twitter主题标签

时间:2017-06-13 20:38:17

标签: java twitter twitter4j hashtag

我将使用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());
    }
}

}

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

2 个答案:

答案 0 :(得分:0)

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

  

您想要搜索最近20条Twitter帖子的主题标签   特定主题标签的时间表。如果该帖子包含   hashtag,你想显示发布它的用户和文本   帖子。

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

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;
        }
    }
}
}

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

答案 1 :(得分:0)

谢谢你,我已经解决了这个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());
    }