從 Internet Archive Wayback Machine 下載整個網站。
您需要在系統上安裝 Ruby (>= 1.9.2) - 如果您還沒有安裝它。然後運行:
gem install wayback_machine_downloader
提示:如果遇到權限錯誤,可能需要在此指令前面新增sudo
。
使用您要擷取的網站的基本 URL 作為參數來執行 wayback_machine_downloader(例如,http://example.com):
wayback_machine_downloader http://example.com
它將把 Wayback Machine 上存在的每個檔案的最新版本下載到./websites/example.com/
。它還將重新建立目錄結構並自動建立index.html
頁面,以便與 Apache 和 Nginx 無縫協作。所有下載的文件都是原始文件,而不是 Wayback Machine 重寫版本。這樣,URL 和連結結構就和以前一樣了。
Usage: wayback_machine_downloader http://example.com
Download an entire website from the Wayback Machine.
Optional options:
-d, --directory PATH Directory to save the downloaded files into
Default is ./websites/ plus the domain name
-s, --all-timestamps Download all snapshots/timestamps for a given website
-f, --from TIMESTAMP Only files on or after timestamp supplied (ie. 20060716231334)
-t, --to TIMESTAMP Only files on or before timestamp supplied (ie. 20100916231334)
-e, --exact-url Download only the url provided and not the full site
-o, --only ONLY_FILTER Restrict downloading to urls that match this filter
(use // notation for the filter to be treated as a regex)
-x, --exclude EXCLUDE_FILTER Skip downloading of urls that match this filter
(use // notation for the filter to be treated as a regex)
-a, --all Expand downloading to error files (40x and 50x) and redirections (30x)
-c, --concurrency NUMBER Number of multiple files to download at a time
Default is one file at a time (ie. 20)
-p, --maximum-snapshot NUMBER Maximum snapshot pages to consider (Default is 100)
Count an average of 150,000 snapshots per page
-l, --list Only list file urls in a JSON format with the archived timestamps, won't download anything
-d, --directory PATH
選修的。預設情況下,Wayback Machine Downloader 會將檔案下載到./websites/
後面接著網站的網域。您可能想要使用此選項將檔案儲存在特定目錄中。
例子:
wayback_machine_downloader http://example.com --directory downloaded-backup/
-s, --all-timestamps
選修的。此選項將下載給定網站的所有時間戳記/快照。它將使用每個快照的時間戳作為目錄。
例子:
wayback_machine_downloader http://example.com --all-timestamps
Will download:
websites/example.com/20060715085250/index.html
websites/example.com/20051120005053/index.html
websites/example.com/20060111095815/img/logo.png
...
-f, --from TIMESTAMP
選修的。您可能需要提供起始時間戳記以將備份鎖定到網站的特定版本。時間戳記可以在常規 Wayback Machine 網站的 URL 中找到(例如,https://web.archive.org/web/20060716231334/http://example.com)。還可以使用年(2006)、年+月(200607)等,可與To Timestamp結合。 Wayback Machine Downloader 將只取得指定時間戳或之後的檔案版本。
例子:
wayback_machine_downloader http://example.com --from 20060716231334
-t, --to TIMESTAMP
選修的。您可能需要提供時間戳記以將備份鎖定到網站的特定版本。時間戳記可以在常規 Wayback Machine 網站的 URL 中找到(例如,https://web.archive.org/web/20100916231334/http://example.com)。還可以使用年(2010)、年+月(201009)等,可與From Timestamp結合使用。 Wayback Machine Downloader 將只取得指定時間戳或先前的檔案版本。
例子:
wayback_machine_downloader http://example.com --to 20100916231334
-e, --exact-url
選修的。如果您只想檢索與所提供的 url 完全匹配的文件,則可以使用此標誌。它將避免下載任何其他內容。
例如,如果您只想下載 example.com 的 html 主頁檔案:
wayback_machine_downloader http://example.com --exact-url
-o, --only ONLY_FILTER
選修的。您可能想要檢索某種類型的檔案(例如,.pdf、.jpg、.wrd...)或位於特定目錄中的檔案。為此,您可以提供--only
標誌和字串或正規表示式(使用「/regex/」符號)來限制 Wayback Machine Downloader 將下載的檔案。
例如,如果您只想下載特定my_directory
內的檔案:
wayback_machine_downloader http://example.com --only my_directory
或者,如果您想下載所有圖像而無需其他任何內容:
wayback_machine_downloader http://example.com --only "/.(gif|jpg|jpeg)$/i"
-x, --exclude EXCLUDE_FILTER
選修的。您可能想要檢索不屬於特定類型(例如.pdf、.jpg、.wrd...)或不在特定目錄中的檔案。為此,您可以提供帶有字串或正規表示式(使用「/regex/」符號)的--exclude
標誌來限制 Wayback Machine Downloader 將下載的檔案。
例如,如果您想避免下載my_directory
內的檔案:
wayback_machine_downloader http://example.com --exclude my_directory
或者,如果您想下載圖像之外的所有內容:
wayback_machine_downloader http://example.com --exclude "/.(gif|jpg|jpeg)$/i"
-a, --all
選修的。預設情況下,Wayback Machine Downloader 將自身限制為以 200 OK 代碼回應的檔案。如果您還需要錯誤檔案(40x 和 50x 代碼)或重定向檔案(30x 代碼),您可以使用--all
或-a
標誌,Wayback Machine Downloader 除了 200 個 OK 檔案之外還會下載它們。它還將保留預設刪除的空白文件。
例子:
wayback_machine_downloader http://example.com --all
-l, --list
它只會顯示要下載的檔案及其快照時間戳記和 URL。輸出格式為 JSON。它不會下載任何東西。它對於調試或連接到另一個應用程式很有用。
例子:
wayback_machine_downloader http://example.com --list
-p, --snapshot-pages NUMBER
選修的。指定要考慮的最大快照頁數。平均每頁有 150,000 個快照。 100 是預設的最大快照頁面數,對於大多數網站來說應該足夠了。如果您想下載非常大的網站,請使用更大的數字。
例子:
wayback_machine_downloader http://example.com --snapshot-pages 300
-c, --concurrency NUMBER
選修的。指定要同時下載的多個文件的數量。允許顯著加快網站的下載速度。預設是一次下載一個檔案。
例子:
wayback_machine_downloader http://example.com --concurrency 20
作為替代安裝方式,我們有 Docker 映像!透過以下方式擷取 wayback-machine-downloader Docker 映像:
docker pull hartator/wayback-machine-downloader
然後,您應該能夠使用 Docker 映像來下載網站。例如:
docker run --rm -it -v $PWD/websites:/websites hartator/wayback-machine-downloader http://example.com
歡迎貢獻!只需透過 GitHub 提交拉取請求即可。
運行測試:
bundle install
bundle exec rake test