2008-09-22 96 views
3

我正在審計我們現有的網絡應用程序,這使得大量使用HTML frames。我想在每個框架中下載所有的HTML,有沒有一種方法可以用wget或者一些腳本來做到這一點?刮多框架網站

回答

6

爲除了史蒂夫的回答是:

跨度到任何主機-'- H」

的‘-H’選項打開主機跨越,從而使Wget的的遞歸運行訪問被引用的任何主機一條鏈接。除非有足夠的遞歸限制標準適用於深度,否則這些外部主機通常會鏈接到更多的主機,等等,直到Wget最終吸收比您預期更多的數據。

限制跨越到某些域-'- d」

的‘-D’選項允許你指定將接踵而至,從而限制了遞歸只有屬於這些域的主機的域。顯然,這隻有與'-H'結合纔有意義。

一個典型的例子是下載的「www.server.com」的內容,但允許下載從「images.server.com」等:

 wget -rH -Dserver.com http://www.server.com/ 

您可以指定多個地址用逗號分隔它們,

eg 「-Ddomain1.com,domain2.com」。

摘自:wget manual

1
wget --recursive --domains=www.mysite.com http://www.mysite.com 

這表明遞歸爬網還應該遍歷幀和iframe。由於您可能不想抓取整個網絡,因此請小心將遞歸範圍限制在您的網站上。

1

wget的有-r選項,使之遞歸,嘗試wget的-r -l1(如果字體使得它難以閱讀:那最後部分是L的小寫然後是第一個) -l1部分告訴它遞歸到1的最大深度。嘗試使用這個數字來刮擦更多。