【问题标题】:Python YouTube Gdata Player ErrorPython YouTube Gdata 播放器错误
【发布时间】:2011-04-25 17:16:33
【问题描述】:

我正在尝试一些非常简单的事情:从 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'

我不知道为什么会这样,几周前它就起作用了...... 有什么想法吗?

【问题讨论】:

    标签: python youtube gdata


    【解决方案1】:

    您应该添加一个检查以保证播放器不为空:

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

    【讨论】:

      猜你喜欢
      • 2010-12-09
      • 1970-01-01
      • 2011-06-14
      • 2015-09-25
      • 2011-04-29
      • 2017-08-11
      • 1970-01-01
      • 2013-06-05
      • 2013-04-05
      相关资源
      最近更新 更多