2010-03-31 56 views
1

我试图使用带-p选项的wget下载特定文档和HTML中链接的图像。下载带有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解决方案是肯定接受。

回答

1

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

但是,您可以使用下载的文件输入到wget来获取相关文件:

wget的-l 1 --base = 网址 --force-HTML -i文件

+0

很棒的发现!我甚至没有想过看看机器人文件。那么,你的备用方法给了我一些问题(由于在文件中的锚链接),所以相反,我只是用'-e robots = off'来绕过Robots文件谢谢! – 2010-03-31 16:30:11

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); 
+0

确实如此,但我需要从HTML下载所有图像。 – 2010-03-31 16:13:19