1

我正在尝试使用wget-p 选项来下载特定文档和 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 中的解决方案。

4

2 回答 2

1

Wget 实际上是在检测 img 标签。问题是该网站的问题有一个不允许 /Archives的robots.txt 。Wget 尊重该请求并且不检索其他文档。

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

wget -l 1 --base= url --force-html -i 文件

于 2010-03-31T16:18:43.960 回答
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);
于 2010-03-31T16:04:59.690 回答