使用WGet下载HTML和图像,无需前几行

时间:2010-03-31 15:30:59

标签: php html curl wget

我正在尝试使用带有-p选项的wget来下载特定文档和HTML中链接的图像。

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

有没有办法让wget剥离前X行和/或强行搜索图片?

示例网址

第一行内容:

<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 个答案:

答案 0 :(得分:1)

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

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

wget -l 1 --base = url --force-html -i file

答案 1 :(得分:0)

在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);