有人可以帮我这个代码吗?我正在尝试制作一个将播放视频的Python脚本,并找到了下载的YouTube视频的文件。我不确定发生了什么,我无法弄清楚这个错误。
错误:
AttributeError: 'NoneType' object has no attribute 'group'
追溯:
Traceback (most recent call last):
File "youtube.py", line 67, in <module>
videoUrl = getVideoUrl(content)
File "youtube.py", line 11, in getVideoUrl
grps = fmtre.group(0).split('&')
代码段:
(第66-71行)
content = resp.read()
videoUrl = getVideoUrl(content)
if videoUrl is not None:
print('Video URL cannot be found')
exit(1)
(第9-17行)
def getVideoUrl(content):
fmtre = re.search('(?<=fmt_url_map=).*', content)
grps = fmtre.group(0).split('&')
vurls = urllib2.unquote(grps[0])
videoUrl = None
for vurl in vurls.split('|'):
if vurl.find('itag=5') > 0:
return vurl
return None
答案
错误是在您的第11行中re.search
没有结果,即None
,然后您要打电话fmtre.group
但fmtre
是None
因此AttributeError
。
您可以尝试:
def getVideoUrl(content):
fmtre = re.search('(?<=fmt_url_map=).*', content)
if fmtre is None:
return None
grps = fmtre.group(0).split('&')
vurls = urllib2.unquote(grps[0])
videoUrl = None
for vurl in vurls.split('|'):
if vurl.find('itag=5') > 0:
return vurl
return None