我正在尝试使用带有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);
我的问题是:我可以提取的评论数量或我做错了吗?
答案 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());
}
如上所述here
,每次迭代的最大结果数为50(似乎)您可以使用start-index检索多个结果集,如上所述here
答案 1 :(得分:0)
Google Search API以及Youtube评论搜索限制最大值。 1000个结果,你不能提取超过1000个结果