подкачка комментариев к API данных YouTube - PullRequest
4 голосов
/ 14 декабря 2009

Я немного борюсь с синтаксисом для перебора всех комментариев на видео YouTube. Я использую питон и нашел немного документации по функции 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_index из GetYouTubeVideoCommentFeed() в дополнение к video_id, но это не понравилось.

Есть что-то, что я пропускаю?

Спасибо! Стив

Ответы [ 2 ]

5 голосов
/ 12 ноября 2010

Вот фрагмент кода для того же:

# 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
1 голос
/ 06 января 2010

Узнал, как это сделать. Вместо передачи video_id в функцию GetYouTubeVideoCommentFeed вы можете передать ему URL-адрес. Вы можете перебирать комментарии, изменяя параметры URL.

Хотя должно быть ограничение API; Я могу получить доступ только к последним 1000 комментариям к видео.

...