youtube-dl无法提取签名


42

利用youtube-dl软件下载youtube 被认为非常有用。

看到一条消息,并且它停止了工作,接下来是。

ERROR: Signature extraction failed: Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 479, in _decrypt_signature
    video_id, player_url, s
  File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 383, in _extract_signature_function
    res = self._parse_sig_js(code)
  File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 454, in _parse_sig_js
    u'Initial JS player signature function name')
  File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/common.py", line 391, in _search_regex
    raise RegexNotFoundError(u'Unable to extract %s' % _name)
RegexNotFoundError: Unable to extract Initial JS player signature function name; please report this issue on https://yt-dl.org/bug . Be sure to call youtube-dl with the --verbose flag and include its complete output. Make sure you are using the latest version; type  youtube-dl -U  to update.
; please report this issue on https://yt-dl.org/bug . Be sure to call youtube-dl with the --verbose flag and include its complete output. Make sure you are using the latest version; type  youtube-dl -U  to update.

我应该怎么做才能继续?


1
它在消息中明确指出:“请在yt-dl.org/bug上报告此问题”那么为什么不这样做呢?
Rinzwind

3
Make sure you are using the latest version; type youtube-dl -U to update.是你做的吗?
David Foerster,2015年

亲爱的大卫·佛斯特(David Foerster),我尝试过并收到一条消息:“您似乎已使用软件包管理器,pip,setup.py或tarball安装了youtube-dl。请使用它进行更新。”
塔延2015年

@HELLOVENUS你是对的youtube-dl -U不再起作用了。有关将youtube-dl更新到最新版本的说明,请访问:youtube-dl不起作用。顺便说一句,如果您使用pip install --upgrade youtube-dl而不是它也可以使用,pip install --upgrade youtube_dl并且还可以在Python虚拟环境中完成本地安装(即不使用sudo)。
karel 2015年

Answers:


66

您收到此错误:

Unable to extract Initial JS player signature function name

...因为youtube-dl不是最新的。与几年前相比,Google现在正在更频繁地更改访问YouTube视频的方式,因此,为了使youtube-dl保持最新,它也必须更频繁地更新。要安装最新版本的youtube-dl,请打开终端并输入:

sudo apt remove youtube-dl  
sudo apt install python-pip
pip install --user youtube-dl

要将youtube-dl升级到最新版本,请执行以下操作:

sudo pip install --upgrade youtube-dl  

要么

sudo snap install youtube-dl # start with snap run youtube-dl     

如此疯狂的是,Google频繁更改访问YouTube视频的代码。我似乎只记得两个月前才更新youtube-dl,但直到我更新它,它仍然无法下载所选视频。

youtube-dl是Python程序,因此您也可以在Python虚拟环境中本地安装最新版本的youtube-dl。有关如何设置和使用Python虚拟环境的信息,请参见如何在Ubuntu中设置和使用虚拟python环境?


没为我工作:-(
Philippe Gachoud

2
对我来说,我必须先卸载“ sudo apt-get remove youtube-dl”,然后使用该命令以pip进行安装
DiegoAndrésDíazEspinoza


3

它曾经发生在我身上。正如他们在评论中所说,您必须更新您的系统或仅更新youtube-dl。在此示例中,也可以使用引号,如下所示:

youtube-dl "https://www.youtube.com/watch?v=n6AL-WpgoFw"

¨您在帖子中使用的此字符不可见。用'或替换它"
afzalex

为我工作;)
Prateek Joshi

2

我有同样的问题,这解决了

 sudo -H pip install --upgrade youtube-dl

并尝试将链接放入“ link


1

只有这种方式对我有用!

每次旅行时,我都会接受新音乐,这是从pip安装youtube-dl的方法。

如果您从回购安装它,它将无法下载音乐,总是抱怨!。因此,使用此工具下载海绵宝宝轻松掌握:

!pip install --upgrade youtube-dl 
!youtube-dl -x --audio-format mp3 https://www.youtube.com/watch?v=oq526_37wc0

0

这些答案都不适合我。我通过使用错误中给出的指令使这件事起作用:

sudo youtube-dl -U

我不知道为什么这种更新方式起作用而不是该升级命令的确切原因。


sudo youtube-dl -U在Ubuntu 18.04上不起作用。它给出了这些结果:sudo youtube-dl -U Usage: youtube-dl [OPTIONS] URL [URL...] youtube-dl: error: youtube-dl's self-update mechanism is disabled on Debian. Please update youtube-dl using apt(8). See https://packages.debian.org/sid/youtube-dl for the latest packaged version.但是sudo snap install youtube-dl-casept在18.04上工作了。
karel
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.