我正在尝试使用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);
我的问题是:我可以提取的评论数量是否有限制,或者我做错了什么?
使用/引用
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来检索这里提到的多个结果集
Google搜索API以及Youtube评论搜索限制max。1000个结果,不能提取超过1000个结果