Python YouTube Gdata Player Ошибка - PullRequest
       5

Python YouTube Gdata Player Ошибка

0 голосов
/ 15 октября 2010

Я пытаюсь сделать что-то действительно простое: получить список URL-адресов игроков из модуля YouTube gdata,

def getlist():
  index = 1
  prev = 0
  urls = []
  while True:
    uri = "http://gdata.youtube.com/feeds/api/playlists/E005D335B57338D1?start-index=%i&max-results=50" % index
    feed = yt_service.GetYouTubeVideoFeed(uri)
    for entry in feed.entry:
      urls.append(entry.media.player.url)
    if prev == len(urls): break
    prev = len(urls)
    index += 50
  return urls

Однако при вызове getlist возникает следующая ошибка:

>>> urls = getlist()
Traceback (most recent call last):
  File "<pyshell#2>", line 1, in <module>
    getlist()
  File "<pyshell#1>", line 9, in getlist
    urls.append(entry.media.player.url)
AttributeError: 'NoneType' object has no attribute 'url'

Понятия не имею, почему это происходит, это сработало пару недель назад ... Есть идеи?

1 Ответ

1 голос
/ 11 ноября 2010

Вы должны добавить проверку, чтобы гарантировать, что игрок не равен нулю:

...
for entry in feed.entry:
  if entry.media.player is not None:
    urls.append(entry.media.player.url)
...
...