尝试使用 youtube-dl 时出现“AttributeError:‘NoneType’对象没有属性‘group’”

尝试使用 youtube-dl 时出现“AttributeError:‘NoneType’对象没有属性‘group’”

错误出现在这样的语句中

WARNING: Automatic signature extraction failed: Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 957, in _decrypt_signature
    video_id, player_url, len(s)
  File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 331, in _extract_signature_function
    player_type = id_m.group('ext')
AttributeError: 'NoneType' object has no attribute 'group'

WARNING: Warning: Falling back to static signature algorithm

非常感谢任何形式的帮助。

答案1

这是一个 python 错误。

您使用的 youtube-dl 版本出了问题。我从未使用过它,所以我不能肯定地告诉您您是使用不当,还是它只是有错误。

@Richard 询问您使用的是哪个版本 - 该问题可能会或可能不会在程序的较新版本中得到解决。

看看dev 的 github上周五刚刚发布了一个版本 - 他提供了有关如何安装它的说明,我会尝试一下。有几个问题与“NoneType”匹配,也许其中一个恰好与您看到的问题相符?

答案2

YouTube 于 2014 年 7 月 25 日更改了其播放器。您将需要 youtube-dl 版本 20140725 或更新版本。

您可能想要使用您的包管理器,我相信在 ubuntu 上可以通过 apt-get 来查看它,以便为您提供最新信息。

有些发行版有点落后,所以你可能需要卸载包管理器版本并直接从开发者网站安装。只要你有 Python 2.6/2.7,这应该可以工作:

sudo curl -L -s  https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
sudo chmod a+x /usr/local/bin/youtube-dl

相关内容