【问题标题】:How to mirror only a section of a website?如何仅镜像网站的一部分?
【发布时间】:2011-09-02 23:46:17
【问题描述】:

我无法让 wget 镜像网站的一部分(根目录下的文件夹路径) - 它似乎只能在网站主页上工作。

我尝试了很多选项 - 这是一个示例

wget -rkp -l3 -np  http://somewebsite/subpath/down/here/

虽然我只想镜像该 URL 下方的内容链接 - 我还需要下载不在该路径中的所有页面资产。

主页 (/) 似乎可以正常工作,但我无法将它用于任何子文件夹。

【问题讨论】:

    标签: wget mirror


    【解决方案1】:

    我通常使用:

    wget -m -np -p $url
    

    【讨论】:

    • -p 下载显示页面所需的所有内容很有用。对于显示页面所需的那些元素,这是否会覆盖 -np
    • 仅供参考:-m = 镜像,-np = 没有父级(递归时不要检索层次结构中更高的文件),-p = 页面必备项或所有必需项以适当地显示网页。
    【解决方案2】:

    我使用 pavuk 来完成镜像,因为从一开始它似乎就更好地实现了这个目的。你可以使用这样的东西:

    /usr/bin/pavuk -enable_js -fnrules F '*.php?*' '%o.php' -tr_str_str '?' '_questionmark_' \
                   -norobots -dont_limit_inlines -dont_leave_dir \
                   http://www.example.com/some_directory/ >OUT 2>ERR
    

    【讨论】:

      【解决方案3】:

      使用--mirror (-m) 和--no-parent (-np) 选项,以及一些很酷的选项,如本例所示:

      wget --mirror --page-requisites --adjust-extension --no-parent --convert-links
           --directory-prefix=sousers http://stackoverflow.com/users
      

      【讨论】:

      • 为了节省其他搜索 wget 手册的人,-p 是 --page-requisites,-P 是 --directory-prefix
      • 就像其他可能遇到此问题的人一样,Windows 7 最常下载的 wget 二进制文件似乎是来自 sourceforge.net 的 gnuwin32 包,但那些是 wget-1.11 没有--adjust-extension 功能。它显然只在 wget-1.12 中添加。因此,Windows 7 用户可以从这里获得更新且独立的二进制文件 (eternallybored.org/misc/wget)
      • 感谢您对长选项的编辑 - 总是很高兴看到反馈变成积极的变化!
      【解决方案4】:

      查看archivebox.io,它是一个开源、自托管的工具,可创建本地、静态、可浏览的网站 HTML 克隆(它保存 HTML、JS、媒体文件、PDF、屏幕截图、静态资产等) .

      默认情况下,它只会归档您指定的 URL,但我们很快会添加一个 --depth=n 标志,让您可以递归地归档来自给定 URL 的链接。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-01-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-27
        • 1970-01-01
        • 1970-01-01
        • 2011-04-27
        相关资源
        最近更新 更多