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.Ти це робив?
Девід Фоерстер

Шановний Девід Фоерстер, я спробував і отримав повідомлення "Схоже, ви встановили youtube-dl з менеджером пакунків, піп, setup.py або тарболом. Будь ласка, використовуйте це для оновлення. "
Taeyeon

@HELLOVENUS Ти маєш рацію, youtube-dl -Uбільше не працює. Інструкції щодо оновлення youtube-dl до останньої версії є за адресою: youtube-dl не працює . btw також працює, якщо ви використовуєте pip install --upgrade youtube-dlзамість цього, pip install --upgrade youtube_dlі він також працює для локальної установки (тобто без використання sudo), зробленої всередині віртуального середовища Python.
карел

Відповіді:


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, тому ви також можете локально встановити останню версію youtube-dl у віртуальному середовищі Python. Інформацію про налаштування та використання віртуального середовища Python див. Як налаштувати та використовувати віртуальне середовище python в Ubuntu? .


Не працювало для мене :-(
Філіп Гачуд

2
Для мене мені довелося спочатку видалити "sudo apt-get remove youtube-dl", а потім скористатися командою для встановлення за допомогою pip
Diego Andrés Díaz Espinoza

4

Єдиний спосіб, коли я працював над ним, була остання версія (для мене на debian) з

sudo wget https://yt-dl.org/latest/youtube-dl -O /usr/local/bin/youtube-dl
sudo chmod a+x /usr/local/bin/youtube-dl
hash -r

від github repo


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

Тільки такий спосіб працює для мене!

Коли я подорожую щоразу, беру нову музику, і ось як встановити youtube-dl з pip.

Якщо ви встановите його з репо, він не може завантажити музику, завжди скаржиться !. Отож використовуйте це, щоб завантажити спонсорський розслабляючий майстер:

!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.
карел
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.