我一直在使用wget下载网站,但如果网站上有来自youtube,vimeo或其他网站的视频,我会遇到一些麻烦。
我似乎也无法摆脱这些广告。
我目前想要获得的网站是: 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 :(得分:1)
视频未下载的原因是因为它们不是单个文件,而是多个文件或块的流。
Vimeo或YouTube等网站最有可能使用DASH或HLS,这些都是HTTP视频流。这要求您与其中一个玩家一起打开视频。在向服务器发出视频的初始请求后,服务器会发回一个清单文件,其中包含电影块的所有链接列表。从那里播放器将发送对每个电影块的后续请求。
使用wget或curl时,服务器拒绝您访问清单或块,因为您需要一些要求和auth才能访问这些文件。玩家会照顾所有这些,这就是为什么你必须使用他们的一个玩家。
您可能需要可以下载YouTube视频的应用。我很确定你能找到一些选择。
祝你好运!答案 1 :(得分:0)
这是因为视频是在不同的主机上,我想。
此将工作
wget -H -r --level=1 -k -p --no-clobber https://www.ctrlpaint.com/
-H选项包括其他主机。话虽这么说,这里的视频主机是vimeo,当我尝试它时,他们检测到wget用户代理并拒绝实际发送视频。
顺便说一句,这种事情通常被认为是不好的形式,因为你镜像的主机必须为带宽付费。 (事实上可能拒绝满足某些请求,发送过多请求错误响应。)