2010-10-15 57 views
0

我想很简单的东西:Python中的YouTube GDATA Player错误

>>> 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' 
:获得来自YouTube GDATA模块播放器的URL列表,

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当出现以下错误

我不知道为什么会发生这种情况,它几个星期前工作... 任何想法?

回答

1

你应该添加一个检查,以保证玩家不为空:

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