【问题标题】:mirror single page with httrack使用 httrack 镜像单页
【发布时间】:2009-12-28 07:55:19
【问题描述】:

我正在尝试使用 httrack (http://www.httrack.com/) 来下载单个页面,而不是整个站点。因此,例如,当使用 httrack 下载 www.google.com 时,它应该只下载 www.google.com 下的 html 以及所有样式表、图像和 javascript,而不是跟随任何指向 images.google.com 的链接, labs.google.com 或 www.google.com/subdir/ 等。

我尝试了-w 选项,但没有任何区别。

什么是正确的命令?

编辑

我尝试使用httrack "http://www.google.com/" -O "./www.google.com" "http://www.google.com/" -v -s0 --depth=1,但它不会复制任何图像。

我基本上想要的只是下载该域的索引文件以及所有资产,而不是任何外部或内部链接的内容。

【问题讨论】:

    标签: http command-line httrack


    【解决方案1】:
    httrack "http://www.google.com/" -O "./www.google.com" "http://www.google.com/" -v -s0  --depth=1 -n
    

    -n 选项(或 --near)将下载网页上的图像,无论它位于何处。

    假设图片位于 google.com/foo/bar/logo.png。因为,您使用的是 s0(留在同一目录上),除非您指定 --near

    ,否则它不会下载图像

    【讨论】:

      【解决方案2】:
      • 点击“设置选项”
      • 转到“限制”标签
      • 将“最大外部深度”设置为 0

      【讨论】:

        【解决方案3】:

        你能用 wget 代替 httrack 吗? wget -p 将下载单个页面及其所有“先决条件”(图像、样式表)。

        【讨论】:

        • 如果 httrack 不能完成这项工作,wget 将是我的后备解决方案。
        • 关于httrack的问题,请继续关注。 wget 不执行 JS
        • 如果资源有查询字符串,wget 会失败。它下载以查询字符串本身命名的文件。
        • wget 不适用于某些站点/页面。我需要按照下面@torger 的回答使用httrack 来获取所有必需的CSS 文件并更正链接。
        【解决方案4】:

        看例子:

        httrack "http://www.all.net/" -O "/tmp/www.all.net" "+*.all.net/*" -v
        

        最后一部分是一个正则表达式。只需制作一个完全匹配的正则表达式即可。

        httrack "http://www.google.com.au/" -O "/tmp/www.google.com.au" "+*.google.com.au/*" -v ---depth=2 --ext-depth=2
        

        我必须进行本地化,否则我会得到一个重定向页面。你应该本地化到你被定向到的任何一个谷歌。

        【讨论】:

        • 这有帮助,但并不完全正确。你能看看我的编辑吗?
        • 这好像是复制图片,还有js。
        • 你的参数中有一个多余的-
        【解决方案5】:

        HTTTrack 的目的是跟踪链接。尝试设置--ext-depth=0

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-10-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多