Internet Archive Wayback Machine から Web サイト全体をダウンロードします。
Ruby をシステム (1.9.2 以上) にインストールする必要があります (まだインストールしていない場合)。次に、次を実行します。
gem install wayback_machine_downloader
ヒント:権限エラーが発生した場合は、このコマンドの前にsudo
を追加する必要がある場合があります。
パラメータとして取得したい Web サイトのベース URL (例: http://example.com) を指定して wayback_machine_downloader を実行します。
wayback_machine_downloader http://example.com
Wayback Machine に存在するすべてのファイルの最新バージョンを./websites/example.com/
にダウンロードします。また、Apache および Nginx とシームレスに連携するために、ディレクトリ構造が再作成され、 index.html
ページが自動作成されます。ダウンロードされたすべてのファイルはオリジナルのものであり、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/
にダウンロードし、その後に Web サイトのドメイン名を付けます。このオプションを使用して、特定のディレクトリにファイルを保存したい場合があります。
例:
wayback_machine_downloader http://example.com --directory downloaded-backup/
-s, --all-timestamps
オプション。このオプションは、特定の Web サイトのすべてのタイムスタンプ/スナップショットをダウンロードします。各スナップショットのタイムスタンプをディレクトリとして使用します。
例:
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
オプション。 from タイムスタンプを指定して、バックアップを Web サイトの特定のバージョンにロックすることができます。タイムスタンプは、通常の Wayback Machine Web サイト (例: https://web.archive.org/web/20060716231334/http://example.com) の URL 内にあります。年 (2006)、年 + 月 (200607) なども使用できます。To タイムスタンプと組み合わせて使用できます。 Wayback Machine Downloader は、指定されたタイムスタンプ以降のファイル バージョンのみを取得します。
例:
wayback_machine_downloader http://example.com --from 20060716231334
-t, --to TIMESTAMP
オプション。 to タイムスタンプを指定して、バックアップを Web サイトの特定のバージョンにロックすることもできます。タイムスタンプは、通常の Wayback Machine Web サイト (例: https://web.archive.org/web/20100916231334/http://example.com) の URL 内にあります。年 (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 など)、または特定のディレクトリにないファイルを取得したい場合があります。これを行うには、 --exclude
フラグに文字列または正規表現 (「/regex/」表記を使用) を指定して、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 で、ほとんどの Web サイトではこれで十分です。非常に大きな Web サイトをダウンロードする場合は、より大きな数値を使用します。
例:
wayback_machine_downloader http://example.com --snapshot-pages 300
-c, --concurrency NUMBER
オプション。同時にダウンロードする複数のファイルの数を指定します。 Web サイトのダウンロードを大幅に高速化できます。デフォルトでは、一度に 1 つのファイルをダウンロードします。
例:
wayback_machine_downloader http://example.com --concurrency 20
別のインストール方法として、Docker イメージがあります。次の方法で、wayback-machine-downloader の Docker イメージを取得します。
docker pull hartator/wayback-machine-downloader
これで、Docker イメージを使用して Web サイトをダウンロードできるようになります。例えば:
docker run --rm -it -v $PWD/websites:/websites hartator/wayback-machine-downloader http://example.com
貢献は大歓迎です! GitHub 経由でプル リクエストを送信するだけです。
テストを実行するには:
bundle install
bundle exec rake test