4

我在遍历 youtube 视频上的所有评论的语法上有点挣扎。我正在使用 python 并且几乎没有找到关于该GetYouTubeVideoCommentFeed()函数的文档。

我真正想做的是在视频的所有评论中搜索一个单词的实例并增加一个计数器(最终将打印出评论)。它适用于返回的 25 个结果,但我需要访问其余的评论。

import gdata.youtube
import gdata.youtube.service

video_id = 'hMnk7lh9M3o'
yt_service = gdata.youtube.service.YouTubeService()    
comment_feed = yt_service.GetYouTubeVideoCommentFeed(video_id=video_id)
for comment_entry in comment_feed.entry:
 comment = comment_entry.content.text
 if comment.find('hi') != -1:
  counter = counter + 1

print "hi: "
print counter

除了 the 之外,我还尝试设置start_indexof ,但它不喜欢那样。GetYouTubeVideoCommentFeed()video_id

有什么我想念的吗?

谢谢!史蒂夫

4

2 回答 2

5

这是相同的代码片段:

# Comment feed URL
comment_feed_url = "http://gdata.youtube.com/feeds/api/videos/%s/comments"

''' Get the comment feed of a video given a video_id'''        
def WriteCommentFeed(video_id, data_file):  
    url = comment_feed_url % video_id
    comment_feed = yt_service.GetYouTubeVideoCommentFeed(uri=url)

    try:
        while comment_feed:

            for comment_entry in comment_feed.entry:
                print comment_entry.id.text
                print comment_entry.author[0].name.text
                print comment_entry.title.text
                print comment_entry.published.text
                print comment_entry.updated.text
                print comment_entry.content.text

            comment_feed = yt_service.Query(comment_feed.GetNextLink().href) 

    except:
            pass
于 2010-11-12T12:27:49.593 回答
1

了解如何做到这一点。您可以将 URL 传递给它,而不是将 video_id 传递给 GetYouTubeVideoCommentFeed 函数。您可以通过更改 URL 参数来遍历注释。

但是必须有 API 限制;我只能访问视频的最后 1000 条评论。

于 2010-01-06T02:23:28.110 回答