如何在Linux中使用“ youtube-dl”下载Facebook视频?


12

我无法使用来下载Facebook视频youtube-dl。下载过程中发生以下错误:

$ youtube-dl https://www.facebook.com/video.php?v=10152588878600983&set=vb.107925785982&type=2&theater
[1] 5101
[2] 5102
[3] 5103
theater: command not found
[2]-  Done                    set=vb.107925785982
[3]+  Done                    type=2
[2]-  Done                    set=vb.107925785982
[3]+  Done                    type=2
$ [generic] video: Requesting header

$ WARNING: Falling back on generic information extractor.
[generic] video: Downloading webpage
ERROR: Unable to download webpage: <urlopen error [Errno 8] _ssl.c:510: EOF occurred in violation of protocol>

[1]+  Exit 1                  youtube-dl
https://www.facebook.com/video.php?v=10152588878600983

Answers:


10

使用时youtube-dl尝试清理您使用的URL。例如,以下URL 起作用。感谢您的视频^ _〜。

您是如何安装的youtube-dl?如果您通过安装了它apt,我将建议以下内容:

sudo apt-get remove youtube-dl
sudo apt-get install $(apt-cache depends youtube-dl | grep Depends | sed "s/.*ends:\ //" | tr '\n' ' ')
sudo pip install youtube-dl

pip 似乎拥有最新版本。

有些字符需要转义以防止出现问题。您可以单引号括起来以防止出现这些问题:

  • youtube-dl 'https://domain.tld/path/file.ext'

mrn @ madhavnikam-Aspire-E5-511:〜$ youtube-dl facebook.com/video.php?v=10152588878600983 [generic] video:请求标头警告:回退到常规信息提取器。[通用]视频:正在下载网页错误:无法下载网页:<urlopen错误[Errno 8] _ssl.c:510:发生违反协议的EOF> mrn @ madhavnikam-Aspire-E5-511:〜$
Madhav Nikam

这也不行。
Madhav Nikam

您没有使用我给您的网址。将HTTPS放在那里!
EarthmeL15年

mrn @ madhavnikam-Aspire-E5-511:〜$ youtube-dl facebook.com/video.php?v=10152588878600983 [generic] video:请求标头警告:回退到常规信息提取器。[通用]视频:正在下载网页错误:无法下载网页:<urlopen错误[Errno 8] _ssl.c:510:发生违反协议的EOF> mrn @ madhavnikam-Aspire-E5-511:〜$
Madhav Nikam

1
@AjayKumarBasuthkar是的!问题已解决,youtube-dl的最新更新非常好...现在也不需要单引号了。
Madhav Nikam

8

您必须转义与(&)或将整个URL用引号引起来,因为&符是Shell解释的特殊字符之一,可防止您将整个URL传递给youtube-dl。更多关于这个。因此,只需将其放在单引号中就足够了:

youtube-dl 'https://www.facebook.com/video.php?v=10152588878600983&set=vb.107925785982&type=2&theater'

$ youtube-dl“ facebook.com/… ” [generic] video.php?v = 10152588878600983&set = vb:请求标头警告:回退到通用信息提取器。[通用] video.php?v = 10152588878600983&set = vb:正在下载网页错误:无法下载网页:<urlopen错误[Errno 8] _ssl.c:510:发生了违反协议的EOF> $
Madhav Nikam,2015年

@MadhavNikam:如果您想添加信息,请编辑您的问题。特别是文件或程序输出列表(借助{}编辑器工具栏上的按钮的帮助)在那里更具可读性,总的来说,最好将所有相关内容放在一个位置。另外,由于各种原因,评论可能会被删除。
David Foerster


1

我尝试通过wine + Youtube-dl及其工作下载这些视频。我的情况是由Ubuntu软件中心安装YouTube-dl。现在我的软件中心无法正常工作。因此,我无法通过终端更新YouTube-dl。YouTube-dl的更新版本可以解决该问题。 酒+ youtube-dl 步骤1:- 首先安装和配置wine。
第二步: - 下载YouTube,DL.EXE 2016年1月15日
第3步: -复制YouTube的-DL.EXE中/home/youru_username/.wine/drive_c/folder_for_youtube-dl 第四步: -打开从CMD.EXE的/ home / madhavnikam /。 wine / drive_c / windows / system32 注意: -youtube -dl是复制youtube-dl.exe文件的文件夹。步骤5:-在cmd中输入cd \,然后将路径设置为c:\ youtube-dl \ 更多信息
在此处输入图片说明
在此处输入图片说明


在此处输入图片说明1)如何在Ubuntu中安装Wine。
2)youtube-dl exe版本下载并复制到.wine文件夹的C_drive文件夹。


上述解决方案不是正确的解决方案,但是该解决方案解决了我的问题。通过终端或Ubuntu软件中心更新Youtube-dl,如果您的软件中心正在运行,则是更好的解决方案
Madhav Nikam 2015年

@DavidFoerster谢谢。我记得您对未来的建议。
Madhav Nikam'1

对于其他所有人:youtube-dl至少同样容易地在Ubuntu / Linux中本地运行。无需参与葡萄酒。
David Foerster

@DavidFoerster如果Ubuntu软件中心无法正常工作或sudo权限不可用,则此答案仅提供另一种方法。我同意youtube-dl本机在Linux中运行。
Madhav Nikam'1

youtube-dl可用的本机版本,不需要超级用户特权或程序包管理。
David Foerster,2016年

1

这可以在我的Linux Mint 18.3 cinammon中使用,也许可以在您的Linux上使用。您可以通过附加youtube用户名和密码,使用youtube-dl在facebook中下载视频,如下所示:

youtube-dl <url> --username <YOUR_USERNAME> --password <YOUR_PASSWORD>

希望对您有所帮助。谢谢。


我尝试过,如果您启用2FA,则无法使用。我还尝试了一个新帐户,但无法解析数据。
Natim
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.