【问题标题】:Download entire website with videos using wget使用 wget 下载整个网站的视频
【发布时间】:2017-03-22 21:53:34
【问题描述】:

我一直在使用 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

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

【问题讨论】:

    标签: linux video wget vimeo


    【解决方案1】:

    我认为这是因为视频位于不同的主机上。

    工作

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

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

    顺便说一句,这种事情通常被认为是不好的形式,因为您要镜像的主机必须为带宽付费。 (实际上可能会拒绝执行某些请求,发送太多请求错误响应。)

    【讨论】:

      【解决方案2】:

      视频没有下载的原因是因为它们不是单个文件,它们是多个文件或块的流。

      Vimeo 或 YouTube 等网站最有可能使用 DASH 或 HLS,它们都是 HTTP 视频流。这要求您使用他们的播放器之一打开视频。在您向服务器发出视频的初始请求后,服务器会发回一个清单文件,其中包含电影块的所有链接的列表。从那里,播放器将为每个电影块发送后续请求。

      服务器拒绝您在使用 wget 或 curl 时访问清单或块,因为您需要一些要求和身份验证才能访问文件。玩家负责所有这些,这就是为什么您必须使用他们的一名玩家。

      您可能需要一款可以下载 YouTube 视频的应用。我很确定您可以在那里找到一些选择。

      祝你好运!

      【讨论】:

        猜你喜欢
        • 2021-04-12
        • 2012-12-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-15
        相关资源
        最近更新 更多