我将使用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());
}
}
}
我得到的只是用户名和时间线上的文字。 谢谢你的帮助。
答案 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());
}