我使用 youtube-dl 通过传递视频 URL 来下载 Facebook 视频。当 Facebook 播放视频时,它会显示接下来播放的视频列表。是否可以使用 youtube-dl 自动下载所有这些视频?
答案1
目前还不行。
Facebook 上的“官方”播放列表由视频所有者创建(例如,请参阅 FACEBOOK/facebook/videos 上的播放列表部分),他们可以选择以链接形式分享,但没有列出的格式。
同一播放列表中的视频可能具有相同的 URL 前缀
FACEBOOK/facebook/视频/vl.515712155263726/10154651089866729/
FACEBOOK/facebook/视频/vl.515712155263726/10154597969851729/
但是,没有该列表的官方链接(id vl.515712155263726)。
当你直接观看视频时,它取决于链接,例如,同一个视频在访问时
FACEBOOK/video.php?v=10154651089866729
和
FACEBOOK/facebook/视频/vl.515712155263726/10154651089866729/
将为您提供不同的下一个视频(您可能会认为这是“您”当前播放列表中的下一个项目)。
youtube-dl 的源代码暂时也没有显示支持 facebook 播放列表的内容(参见https://github.com/rg3/youtube-dl/blob/master/youtube_dl/extractor/facebook.py)。
所以你运气不好。
笔记:代替FACEBOOK与网站有实际链接。
答案2
我对此不太确定,但这是个好方法。创建自己的播放列表并一次性下载所有内容。
如果您使用的是 Windows 操作系统。请按照以下步骤操作。
- 转到任意视频,然后右键单击。复制视频 URL。2.打开记事本并粘贴该 URL。
- 在记事本中逐个粘贴视频 URL 并创建播放列表。
- 并以名称保存。
- 并运行命令
youtube-dl --batch-file=yourfile.txt
例子:
我创建了一个文件夹,you-dl。然后在 you-dl 里面,有一个记事本,里面有 URL 列表。并将其命名为 downme.txt
接下来,进入该文件夹(you-dl)并运行命令youtube-dl --batch-file=downme.txt
答案3
要下载播放列表,只需添加下一个参数
--yes-playlist
就这样吧
答案4
手册页显示:
--playlist-start NUMBER 个播放列表视频开始(默认为 1)
--playlist-end NUMBER 个播放列表视频结束(默认为最后一个)
也许你可以用这些做点什么。我不知道它们是否只适用于 youtube,不幸的是我无法测试 facebook。
另一种方法是创建一个脚本来下载您的播放列表:我为 YouTube 播放列表制作了类似的东西,不过您需要输入播放列表的 URL。
批量创建该脚本(用于 Youtube)很容易:wget 获取播放列表页面,然后 grep 视频链接,使用 wc 获取没有 html 标签的链接,然后将结果提供给 youtube-dl。
您可能需要对 Facebook 播放列表执行类似操作。是否有存储这些视频的播放列表?如果它们只是建议,那么可能更难做到。