2017-03-22 60 views
0

我一直在使用wget下载网站,但如果网站上有来自YouTube,vimeo或其他网站的视频,我遇到了一些麻烦。使用wget下载带有视频的整个网站

我似乎也无法摆脱广告。

,我试图让目前的网站是: https://www.ctrlpaint.com

我只需要它暂时是因为我有在那里是没有互联网的地方工作。所以我不想去从vimeo下载所有视频的麻烦。

感谢您的帮助,让我知道如果您需要更高的精度或如果你想我尝试任何东西。

我正在使用gentoo。

我使用的命令是:

$ wget \ --recursive \ --no-clobber \ --page-requisites \ --html-extension \ --convert-links \ --restrict-file-names=windows \ --domains website.org \ --no-parent \ website_to download 

它给我留下了完整的网站,但看起来连接到互联网的视频。

回答

0

这是因为视频在不同的主机上,我想。

工作

wget -H -r --level=1 -k -p --no-clobber https://www.ctrlpaint.com/ 

-H选项包括其他主机。话虽如此,这里的视频主机是vimeo,当我尝试它时,他们检测到wget用户代理并拒绝实际发送视频。

另外,这种事情通常被认为是不好的形式,因为你镜像的主机必须支付带宽。 (事实上​​可能拒绝履行一些请求,发送过多的请求的错误响应。)

1

为什么影片不能下载的原因是因为他们不是一个单一的文件,它们是多个文件或块流。

像Vimeo或YouTube的网站很可能会使用DASH或HLS,这是所有的HTTP视频流。这要求您与其中一名玩家一起打开视频。将视频的初始请求发送给服务器后,服务器将发送一个清单文件,其中包含电影块的所有链接列表。从那里玩家将发送后续请求每个电影块。

当使用wget或curl时,服务器拒绝您访问清单或块,因为您需要一些必要的条件和auth才能访问这些文件。玩家需要处理所有这些,这就是为什么你必须使用他们的一个球员。

您可能需要一个可以下载YouTube视频的应用程序。我很肯定你可以在那里找到一些选择。

祝你好运!