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

start_indexGetYouTubeVideoCommentFeed()加えてを設定しようとしました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

やり方がわかった。video_id を GetYouTubeVideoCommentFeed 関数に渡す代わりに、URL を渡すことができます。URL パラメーターを変更することで、コメントを反復処理できます。

ただし、API の制限が必要です。動画の最後の 1000 件のコメントにしかアクセスできません。

于 2010-01-06T02:23:28.110 に答える