2010-10-15 6 views
0

J'essaie quelque chose de vraiment simple: obtenir une liste des urls joueur du module gdata youtube,Python YouTube Gdata joueur Erreur

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 

Cependant, l'erreur suivante se produit lorsque vous appelez 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' 

Je ne sais pas pourquoi cela se passe, ça a marché il y a quelques semaines ... Des idées?

Répondre

1

Vous devez ajouter un chèque pour garantir que le joueur est non nul:

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