2010-03-31 74 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