java - 在 twitter4j 中检索给定关键字的推文

标签 java real-time twitter4j

我是新用户 twitter4j 。只是想知道如何从 Twitter 获取“一段时期的推文”。作为twitter4j只能获得最低限度的推文。

假设,我想获取关键字“iphone5”的最近 2 周推文,如何使用 twitter4j 获取这些推文.

最佳答案

过去一小时内已有数千条“iphone5”推文。在达到限制之前,这已经超出了您允许通过搜索 API 批量获取的推文数量。获取过去两周内某个热门话题的所有推文是不可能的。您必须缩小搜索范围,这样就不必发出如此多的请求(通过查询一次只能获得 100 条推文)。

您可能会考虑的另一件事是每隔几分钟获取有关某个主题的 1000 条最新推文并将其存储在本地。这样,如果您需要历史数据,您可以返回到自己的缓存。

public static void main(String[] args) throws TwitterException {
    Twitter twitter = new TwitterFactory().getInstance();

    for (int page = 1; page <= 10; page++) {
        System.out.println("\nPage: " + page);
        Query query = new Query("#iPhone5");
        query.setRpp(100); // set tweets per page to 100
        query.setPage(page);
        QueryResult qr = twitter.search(query);
        List<Tweet> qrTweets = qr.getTweets();

        // break out of the loop early if there are no more tweets
        if(qrTweets.size() == 0) break;

        for(Tweet t : qrTweets) {
            System.out.println(t.getId() + " - " + t.getCreatedAt() + ": " + t.getText());
        }
    }
}

关于java - 在 twitter4j 中检索给定关键字的推文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12984617/

相关文章:

java - 如何获取整数输入的最后一个数字

java - 通过 JLayer 和 LayerUI 缩放 JLayeredPane

java - JAD 崩溃 - 无效/损坏的常量池

c# - Windows窗体与远程服务器之间如何实现实时数据同步

java - 使用 TwitterUtils 过滤掉用户

java - Twitter4j ID 到数组

java - 使用 twitter4j 的 Oauth 中的问题

java - 如何使用 AR core 将多个 3D 对象组合为一个

c++ - WASAPI:识别环回记录中的非事件 channel

java - 为一个具有硬限制保证的线程使用执行程序是否有意义?