Youtube_dl : ERROR : YouTube said: Unable to extract video data
Youtube_dl : ERROR : YouTube said: Unable to extract video data
我正在用 Python 3 制作一个小图形界面,它应该下载一个带有 URL 的 youtube 视频。
我为此使用了 youtube_dl
模块。
这是我的代码:
import youtube_dl # Youtube_dl is used for download the video
ydl_opt = {"outtmpl" : "/videos/%(title)s.%(ext)s", "format": "bestaudio/best"} # Here we give some advanced settings. outtmpl is used to define the path of the video that we are going to download
def operation(link):
"""
Start the download operation
"""
try:
with youtube_dl.YoutubeDL(ydl_opt) as yd: # The method YoutubeDL() take one argument which is a dictionary for changing default settings
video = yd.download([link]) # Start the download
result.set("Your video has been downloaded !")
except Exception:
result.set("Sorry, we got an error.")
operation("https://youtube.com/watch?v=...")
当我执行我的代码时,我得到这个错误:
ERROR: YouTube said: Unable to extract video data
我看到here是因为找不到任何视频信息,我该如何解决这个问题?
您可以尝试添加 cookie 文件,因为有些视频有年龄限制。使用此插件 Chrome plugin Cookie.txt 将您的 cookie 下载到 txt 文件中,然后使用这些 --cookies /path/to/cookies/file.txt
标志,不要忘记将正确的路径放入您的 cookies.txt.
文件
样本:
youtube-dl -n --cookies ~/Downloads/cookies.txt https://www.youtube.com/watch\?v\=h7Ii7KKapig
更新 youtube-dl 对我很有帮助。根据您安装它的方式,这里是命令:
youtube-dl --update
(自行更新)
pip install -U youtube-dl
(来自 python)
brew upgrade youtube-dl
(macOS + 自制软件)
choco upgrade youtube-dl
(Windows + 巧克力)
如果您在 MacOsx 上使用 youtube-dl 命令行,请使用此命令更新:
sudo youtube-dl --update
我在 Ubuntu 20.04 上遇到了同样的错误。
我通过从以下位置下载 .deb 来更新 youtube-dl 来解决它:
https://packages.debian.org/sid/all/youtube-dl/download
虽然您也可以在 youtube-dl 的官方网站上获取更新。
如果你安装了 pip,你可以用它来更新 youtube-dl
这对我有帮助。
sudo pip install --upgrade youtube_dl
对于 ubuntu 用户:
sudo apt purge youtube-dl
sudo pip3 install youtube-dl
hash youtube-dl
在 Ubuntu 上唯一对我有用的是使用 Debian 软件包/.deb 文件进行安装:
wget http://ftp.de.debian.org/debian/pool/main/y/youtube-dl/youtube-dl_2021.02.04.1-1_all.deb
sudo apt install ./youtube-dl_2021.02.04.1-1_all.deb
youtube-dl 包正在使用 python 代码,它正在寻找 python 到 运行 的正确版本。如果您有 python3,则输入:
sudo sed -i '1s/python/python3/' /usr/local/bin/youtube-dl
Ubuntu 用户:
无需 运行 并尝试一千种不同解决方案即可解决此问题的最简单快捷的方法是 完全删除 Youtube-dl 并重新安装它 使用 .deb 文件和 apt。首先,将其从您的系统中清除。
sudo apt purge youtube-dl
或
sudo pip3 uninstall youtube-dl
下一步,去HERE (http://ftp.us.debian.org/debian/pool/main/y/youtube-dl/youtube-dl_2021.12.17-1_all.deb)下载.deb文件。下载文件后,使用 apt 和以下命令进行安装。这将解决您的问题。显然你会确保你的版本号和文件名是正确的。
sudo apt install ./youtube-dl_2021.12.17-1_all.deb
如果此解决方案适合您,请为它投票,以便其他人可以轻松找到它。
我正在用 Python 3 制作一个小图形界面,它应该下载一个带有 URL 的 youtube 视频。
我为此使用了 youtube_dl
模块。
这是我的代码:
import youtube_dl # Youtube_dl is used for download the video
ydl_opt = {"outtmpl" : "/videos/%(title)s.%(ext)s", "format": "bestaudio/best"} # Here we give some advanced settings. outtmpl is used to define the path of the video that we are going to download
def operation(link):
"""
Start the download operation
"""
try:
with youtube_dl.YoutubeDL(ydl_opt) as yd: # The method YoutubeDL() take one argument which is a dictionary for changing default settings
video = yd.download([link]) # Start the download
result.set("Your video has been downloaded !")
except Exception:
result.set("Sorry, we got an error.")
operation("https://youtube.com/watch?v=...")
当我执行我的代码时,我得到这个错误:
ERROR: YouTube said: Unable to extract video data
我看到here是因为找不到任何视频信息,我该如何解决这个问题?
您可以尝试添加 cookie 文件,因为有些视频有年龄限制。使用此插件 Chrome plugin Cookie.txt 将您的 cookie 下载到 txt 文件中,然后使用这些 --cookies /path/to/cookies/file.txt
标志,不要忘记将正确的路径放入您的 cookies.txt.
样本:
youtube-dl -n --cookies ~/Downloads/cookies.txt https://www.youtube.com/watch\?v\=h7Ii7KKapig
更新 youtube-dl 对我很有帮助。根据您安装它的方式,这里是命令:
youtube-dl --update
(自行更新)pip install -U youtube-dl
(来自 python)brew upgrade youtube-dl
(macOS + 自制软件)choco upgrade youtube-dl
(Windows + 巧克力)
如果您在 MacOsx 上使用 youtube-dl 命令行,请使用此命令更新:
sudo youtube-dl --update
我在 Ubuntu 20.04 上遇到了同样的错误。 我通过从以下位置下载 .deb 来更新 youtube-dl 来解决它: https://packages.debian.org/sid/all/youtube-dl/download
虽然您也可以在 youtube-dl 的官方网站上获取更新。
如果你安装了 pip,你可以用它来更新 youtube-dl
这对我有帮助。
sudo pip install --upgrade youtube_dl
对于 ubuntu 用户:
sudo apt purge youtube-dl
sudo pip3 install youtube-dl
hash youtube-dl
在 Ubuntu 上唯一对我有用的是使用 Debian 软件包/.deb 文件进行安装:
wget http://ftp.de.debian.org/debian/pool/main/y/youtube-dl/youtube-dl_2021.02.04.1-1_all.deb
sudo apt install ./youtube-dl_2021.02.04.1-1_all.deb
youtube-dl 包正在使用 python 代码,它正在寻找 python 到 运行 的正确版本。如果您有 python3,则输入:
sudo sed -i '1s/python/python3/' /usr/local/bin/youtube-dl
Ubuntu 用户:
无需 运行 并尝试一千种不同解决方案即可解决此问题的最简单快捷的方法是 完全删除 Youtube-dl 并重新安装它 使用 .deb 文件和 apt。首先,将其从您的系统中清除。
sudo apt purge youtube-dl
或
sudo pip3 uninstall youtube-dl
下一步,去HERE (http://ftp.us.debian.org/debian/pool/main/y/youtube-dl/youtube-dl_2021.12.17-1_all.deb)下载.deb文件。下载文件后,使用 apt 和以下命令进行安装。这将解决您的问题。显然你会确保你的版本号和文件名是正确的。
sudo apt install ./youtube-dl_2021.12.17-1_all.deb
如果此解决方案适合您,请为它投票,以便其他人可以轻松找到它。