从Youtube中提取的评论数量是否有限制?

时间:2013-01-15 11:31:26

标签: java youtube-api

我正在尝试使用带有Java的youtube-api在一些YouTubeVideos上提取评论。一切都很顺利,除非我无法提取所有评论,如果视频有大量的评论(它停在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);

我的问题是:我可以提取的评论数量或我做错了吗?

2 个答案:

答案 0 :(得分: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());
}

source

如上所述here

,每次迭代的最大结果数为50(似乎)

您可以使用start-index检索多个结果集,如上所述here

答案 1 :(得分:0)

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