twitter4j result.nextquery()再次从第一页给出结果

ASM

我已经创建了一个Twitter爬虫,该爬虫可获取属于某些主题标签的推文及其关联数据。运行超过一天后,它开始提供我已经存储在数据库中的旧数据。现在我有216874条带有#jesuischarlie主题标签的推文。确定我使用过,QueryResult result=twitter.search(new Query("#jesuischarlie"));
并且确定然后我会执行do-while循环,直到退出result.nextQuery()==null

我的问题是,为什么函数nextQuery()不只是给我一个空值,这意味着Twitter不会为该搜索提供进一步的推文?为什么从头再来!!

这是我正在使用的全部功能

try {
             Query query = new Query("#jesuischarlie");
             query.setSince("2015-01-08");
             query.setCount(100);
             QueryResult result;
             do {
                 result = twitter.search(query);
                 List<Status> tweets = result.getTweets();
                 for (Status tweet : tweets) {
                     Twitter_loop_dao dao = new Twitter_loop_dao();
                    try {

                        dao.insertTwet(tweet);
                    } catch (SQLException e) {

                        e.printStackTrace();
                    }
                 }
                 Thread.sleep(15 * 1000);
             } while ((query = result.nextQuery()) != null);
             System.exit(0);
         } catch (TwitterException te) {
             te.printStackTrace();
             System.out.println("Failed to search tweets: " + te.getMessage());
             System.exit(-1);
         }
毫米x73

看起来您在while循环中使用了错误的退出条件。我的代码在工作(对我来说)。

do {
        try {
            result = twitter.search(query);
            List<Status> tweets = result.getTweets();
            List<MyObject> myObjects = tweets.parallelStream()
                    .map(tweet -> myTweetFunction(tweet))
                    .collect(Collectors.toList());

            query = result.nextQuery();            
            checkRateLimit(result) 

        } catch (TwitterException e){
            // do what ever you want
        }
} while (result == null || result.hasNext());

checkRateLimit函数:

private void checkRateLimit(QueryResult result) {

    if (result.getRateLimitStatus().getRemaining() <= 0){
        try {
          Thread.sleep(result.getRateLimitStatus().getSecondsUntilReset() * 1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
            throw new RuntimeException(e);
        }
    }
}

希望能有所帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用Twitter4j检索100多个结果

来自分类Dev

Twitter无法在Android中与twitter4j一起使用

来自分类Dev

如何使用twitter4j库在一个请求中搜索多个Twitter ID

来自分类Dev

Twitter无法在Android中与twitter4j一起使用

来自分类Dev

如何使用twitter4j库在一个请求中搜索多个Twitter ID

来自分类Dev

当搜索“ @sometext”时,twitter4j Streaming Api不显示结果

来自分类Dev

如何使用twitter4j获得100多个tweet结果

来自分类Dev

如何使用处理和Twitter4j从用户时间轴中获取20多个结果?

来自分类Dev

如何使用处理和Twitter4j从用户时间轴中获取20多个结果?

来自分类Dev

我似乎无法获得第一个Twitter4J代码示例(Twitter上的简单帖子)。UpdateStatus(string)未定义

来自分类Dev

我似乎无法使第一个Twitter4J代码示例(Twitter上的简单帖子)正常工作。UpdateStatus(string)未定义

来自分类Dev

Twitter4j NumberFormatException

来自分类Dev

Twitter API Twitter4j getUserID

来自分类Dev

用Twitter4j播放视频

来自分类Dev

twitter4j的转发次数

来自分类Dev

twitter4j OAuth Android

来自分类Dev

分页在每次迭代中给出第一页

来自分类Dev

PHP 仅获取 JSON 结果的第一页

来自分类Dev

Android-使用twitter4j从Twitter注销

来自分类Dev

通过Twitter4J进行多线程Twitter访问

来自分类Dev

twitter4j和twitter时间戳处理

来自分类Dev

Twitter 快速回复 - Twitter4J (Java) 示例

来自分类Dev

如何通过点击第一页的按钮来激活引导4模式,将您重定向到与模式第二页激活?

来自分类Dev

Max 20 Friends Information on Twitter4J

来自分类Dev

将Twitter4J的UserStreamListener与EJB结合使用

来自分类Dev

Twitter4j身份验证凭据丢失

来自分类Dev

Twitter4j收听特定用户的推文

来自分类Dev

Twitter4J上最多20个好友信息

来自分类Dev

从twitter4j Steaming API定期提取数据

Related 相关文章

  1. 1

    如何使用Twitter4j检索100多个结果

  2. 2

    Twitter无法在Android中与twitter4j一起使用

  3. 3

    如何使用twitter4j库在一个请求中搜索多个Twitter ID

  4. 4

    Twitter无法在Android中与twitter4j一起使用

  5. 5

    如何使用twitter4j库在一个请求中搜索多个Twitter ID

  6. 6

    当搜索“ @sometext”时,twitter4j Streaming Api不显示结果

  7. 7

    如何使用twitter4j获得100多个tweet结果

  8. 8

    如何使用处理和Twitter4j从用户时间轴中获取20多个结果?

  9. 9

    如何使用处理和Twitter4j从用户时间轴中获取20多个结果?

  10. 10

    我似乎无法获得第一个Twitter4J代码示例(Twitter上的简单帖子)。UpdateStatus(string)未定义

  11. 11

    我似乎无法使第一个Twitter4J代码示例(Twitter上的简单帖子)正常工作。UpdateStatus(string)未定义

  12. 12

    Twitter4j NumberFormatException

  13. 13

    Twitter API Twitter4j getUserID

  14. 14

    用Twitter4j播放视频

  15. 15

    twitter4j的转发次数

  16. 16

    twitter4j OAuth Android

  17. 17

    分页在每次迭代中给出第一页

  18. 18

    PHP 仅获取 JSON 结果的第一页

  19. 19

    Android-使用twitter4j从Twitter注销

  20. 20

    通过Twitter4J进行多线程Twitter访问

  21. 21

    twitter4j和twitter时间戳处理

  22. 22

    Twitter 快速回复 - Twitter4J (Java) 示例

  23. 23

    如何通过点击第一页的按钮来激活引导4模式,将您重定向到与模式第二页激活?

  24. 24

    Max 20 Friends Information on Twitter4J

  25. 25

    将Twitter4J的UserStreamListener与EJB结合使用

  26. 26

    Twitter4j身份验证凭据丢失

  27. 27

    Twitter4j收听特定用户的推文

  28. 28

    Twitter4J上最多20个好友信息

  29. 29

    从twitter4j Steaming API定期提取数据

热门标签

归档