gpt4 book ai didi

java - 使用 twitter4j 提取特定主题标签的推文

转载 作者:行者123 更新时间:2023-11-29 03:21:33 24 4
gpt4 key购买 nike

我可以使用如下所示的搜索方法提取特定主题标签的推文

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

但是,我使用上述方法获得的推文数量非常有限。我应该更改什么以获取特定主题标签的所有推文?

最佳答案

您可以使用流式 API 通过一组给定的关键字获取最近的推文。在您的情况下,您只有一个关键字,它是一个标签,对吗?我发布了一个简短的示例代码,用于使用 Streaming API 通过关键字搜索推文。您可以将 Streaming 和 Search API 用于不同的目的。大多数情况下,您可以在有限的时间内使用 Search API 搜索历史推文。它允许您给出日期间隔。但是,您可以使用 Streamin API 将最近发布的推文捕获为包含您提供的关键字的推文流。

示例代码如下:

private static void GetTweetStreamForKeywords()
{
TwitterStream twitterStream = new TwitterStreamFactory(config).getInstance();

StatusListener statusListener = new StatusListener() {

@Override
public void onStatus(Status status) {
// The main section that you get the tweet. You can access it by status object.
// You can save it in a database table.
}


@Override
public void onDeletionNotice(StatusDeletionNotice sdn) {
throw new UnsupportedOperationException("Not supported yet.");
}

@Override
public void onTrackLimitationNotice(int i) {
throw new UnsupportedOperationException("Not supported yet.");
}

@Override
public void onScrubGeo(long l, long l1) {
throw new UnsupportedOperationException("Not supported yet.");
}

@Override
public void onStallWarning(StallWarning sw) {
throw new UnsupportedOperationException("Not supported yet.");
}

@Override
public void onException(Exception ex) {
logWriter.WriteErrorLog(ex, "onException()");
}
};

FilterQuery fq = new FilterQuery();

String keywords[] = {"sport", "politics", "health"};

fq.track(keywords);

twitterStream.addListener(statusListener);
twitterStream.filter(fq);
}

关于java - 使用 twitter4j 提取特定主题标签的推文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23341215/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com