4

我正在尝试使用带有 Java 的 youtube-api 提取对一些 YouTubeVideo 的评论。一切都很好,除了如果视频有大量评论(它停在 950 到 999 之间),我无法提取所有评论。我正在遵循一种简单的方法,即通过 VideoEntry 的 CommentFeed 进行分页,获取每个页面上的评论,然后将每个评论存储在 ArrayList 中,然后再将它们写入 XML 文件。这是我检索评论的代码

int commentCount = 0;
CommentFeed commentFeed = service.getFeed(new URL(commentUrl), CommentFeed.class);
do {
          //Gets each comment in the current feed and prints to the console
            for(CommentEntry comment : commentFeed.getEntries()) {
                    commentCount++;
                    System.out.println("Comment " + commentCount + " plain text content: " + comment.getPlainTextContent());
            }

           //Checks if there is a next page of comment feeds
            if (commentFeed.getNextLink() != null) {
                    commentFeed = service.getFeed(new URL(commentFeed.getNextLink().getHref()), CommentFeed.class);
            }
            else {
                commentFeed = null;
            }
        }
        while (commentFeed != null);

我的问题是:我可以提取的评论数量是否有限制,或者我做错了什么?

4

2 回答 2

1

使用/参考这个

String commentUrl = videoEntry.getComments().getFeedLink().getHref();

CommentFeed commentFeed = service.getFeed(new URL(commentUrl), CommentFeed.class);
for(CommentEntry comment : commentFeed.getEntries()) {
  System.out.println(comment.getPlainTextContent());
}

资源

每次迭代的最大结果数为 50(似乎),如此处所述

并且您可以使用 start-index 来检索这里提到的多个结果集

于 2013-01-15T11:36:54.883 回答
0

Google 搜索 API 以及 Youtube 评论搜索限制最大​​。1000 个结果,你不能提取超过 1000 个结果

于 2013-02-17T00:12:15.320 回答