代码之家  ›  专栏  ›  技术社区  ›  St. John Johnson

使用wget下载html和图像,不需要前几行

  •  1
  • St. John Johnson  · 技术社区  · 16 年前

    我想用 wget 使用-p选项下载HTML中链接的特定文档和图像。

    问题是,托管html的站点在html之前有一些非html信息。这是导致 WGET 不将文档解释为HTML并且不搜索图像。

    有没有办法 WGET 去除前x行和/或强制搜索图像?

    示例URL:

    第一行内容:

    <DOCUMENT>
    <TYPE>S-4
    <SEQUENCE>1
    <FILENAME>ds4.htm
    <DESCRIPTION>FORM S-4
    <TEXT>
    <HTML><HEAD>
    <TITLE>Form S-4</TITLE>
    

    最后几行内容:

    </BODY></HTML>
    </TEXT>
    </DOCUMENT>
    

    编辑: php中的解决方案当然是可以接受的。

    2 回复  |  直到 16 年前
        1
  •  1
  •   Devon_C_Miller    16 年前

    wget实际上是在检测img标签。问题是网站的问题是 robots.txt 不允许存档。wget尊重该请求,不检索其他文档。

    但是,您可以使用下载的文档作为wget的输入来检索相关文档:

    wget-l 1--基= 网址 --强制HTML-I 文件

        2
  •  0
  •   Jamescun    16 年前

    在php中,可以使用此函数删除x行:

    function strip_toplines($string,$lines){
        $string = explode(PHP_EOL,$string);
        foreach($string as $line_num => $line){
            if($line_num>($lines - 1)){
                $output .= $line . PHP_EOL;
            }
        }
        return trim($output);
    }
    

    然后这个:

    strip_toplines(file_get_contents($url),6);
    
    推荐文章