如何使用 wget 鏡像網站的子目錄

如何使用 wget 鏡像網站的子目錄

我需要鏡像以下網址:

https://web.archive.org/web/20100515230709/http://markowitzbocadentist.com/

但我只需要鏡像此日期“20100515230709”中的文件,我嘗試了很多wget選項,但它們要么抓取index.html,要么也抓取其他日期的文件。

我怎樣才能實現它?

答案1

來自 wget 手冊(1.15):

實際上,要下載單一頁面及其所有必需內容(即使它們存在於不同的網站上),並確保該批次在本地正確顯示,除了“-p”之外,作者還喜歡使用一些選項:

wget -E -H -k -K -p 網址

另外,robots.txt 可能會阻止某些內容,因此添加 -e robots=off

所以你得到:

wget -E -H -k -K -p -e robots=off https://web.archive.org/web/20100515230709/http://markowitzbocadentist.com/

這給了我 38 個文件,這些文件都是該單頁所需的,僅此而已。

如果您想要獲得的不僅僅是該頁面,您還需要下載早期的(部分)快照。因為 archive.org 只獲取改變了頁,一個完整的網站在一個具體日期幾乎總是由在該日期捕獲的頁面組成,但也包括在較早的日期捕獲的頁面。例如,「程序」的連結指的是 2010 年 10 月 21 日 08:29:33 製作的副本,該副本早於您提到的日期(2010 年 5 月 15 日 23:07:09)。

所以你的問題的實際答案是:你不能鏡像完全的一個日期的快照,而至少也不需要從另一個日期的快照下載部分內容。

新增 -m (鏡像選項)也會取得這些頁面。

相關內容