如何解决Youtube_dl:错误:YouTube说:无法提取视频数据
我正在使用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
我在某处看到这是因为他们找不到任何视频信息(https://github.com/ytdl-org/youtube-dl/blob/d4f53af482cc47b0473a3576da7ad902bea4ac39/youtube_dl/extractor/youtube.py#L1831),但是我没有找到解决此问题的任何解决方案。 先谢谢了我的帮助。
解决方法
对于 ubuntu 用户:
sudo apt purge youtube-dl
sudo pip3 install youtube-dl
,
更新youtube-dl对我有帮助:youtube-dl --update
我在 Ubuntu 20.04 上遇到了同样的错误。 我通过从以下位置下载 .deb 来更新 youtube-dl 解决了这个问题: https://packages.debian.org/sid/all/youtube-dl/download
虽然您也可以在 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
,
如果您在 MacOsx 上使用 youtube-dl 命令行使用此命令更新:
sudo youtube-dl --update
,
如果您安装了 pip,您可以使用它来更新 youtube-dl
这对我有帮助。
sudo pip install --upgrade youtube_dl
由于某些视频受年龄限制,因此您可以尝试添加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
,
根据 Manoj D Bhat 的建议,我卸载并重新安装了该程序,然后再次尝试下载 YouTube 链接“A”。这奏效了,正如预期的那样,我下载了完整的视频。超级。
但是,对于第二个视频 - 视频“B” - 它再次失败并出现相同的错误。 有趣的是,我尝试再次下载视频“A” - 使用我之前使用的相同命令 - 现在失败了。
使用新安装的程序下载一个视频后,它似乎停止工作?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。