【更新中】archive.org(Wayback machine)に保存されているページを一括ダウンロードする方法【24/10/02日 三回目修正済み】

今回はWayback machine downloaderを用いてInternet Archive - archive.org(Wayback machine)に保存されている複数のページを一括ダウンロードする方法を紹介します。

Wayback Machine downloader プログラムリンク

https://github.com/hartator/wayback-machine-downloader

詳しい説明は開発者のgithubページをご覧ください。

この記事は下に明記されている記事から訳されたものです。

もし、Wayback machineのウェブページではなくInternet Archive - archive.org自体に利用者によってアップロードされている項目(URL形式:https://archive.org/details/項目のタイトルURL)や特定アカウントのアップロード項目ページ(URL形式:https://archive.org/details/@ユーザー名)に対する一括ダウンロードはJDownloader 2を利用してください。この記事の解説はWayback machineのウェブページに関するものです。

また、archive.org内のコンテンツ項目を探す際にはarchive.orgの自体検索機能を利用するよりも検索エンジンサイト「Bing」で検索語(クエリー)の末尾に「site:archive.org」と言う演算子を付けて検索する方が良いです。特に最新の項目に対して効果的です。

 

2024/10/02 修正:説明を少し追加・修正しました。

最近wayback machineは接続数に制限を設定したそうです。

接続制限された場合、おそらくこのエラーメッセージが表示されるでしょう。

Failed to open TCP connection ~~~

現時点では以下の提案に従ってください。

このリポジトリは古いので、代わりに最新のフォークを使ってほしい。
この "問題 "は、どのようにすれば動くようになるかという、人々のための指示に過ぎない。

1. 必要なrubyのバージョンをインストールする。
2. ShiftaDeband 

https://github.com/ShiftaDeband/wayback-machine-downloader

から zip / clone fork をダウンロードする。(これは緑色の「<> Code」ボタンをクリックして「Download ZIP」をクリックすることを意味する)このファイルを解凍します。
3. プログラムがあるフォルダー"wayback-machine-downloader\bin"に移動する。
4. Windowsでは、フォルダー内でキーボードの「Shiftキー」+マウスの「右クリック 」し、「PowerShellウィンドウをここで開く」を選択することでPowerShellを起動できる。
5. gemとしてインストールした場合は、通常の「wayback_machine_downloader」の代わりに「ruby wayback_machine_downloader」でプログラムを実行することができる。また「gem uninstall wayback_machine_downloader」を使って、機能しないオリジナルのgemをアンインストールすることもできる。

基本的な使い方

出典(イタリア語): Come scaricare copie di siti scaduti – Wayback machine downloader

インターネット・アーカイブ - ウェイバック・マシンは、2,790億以上のウェブページの歴史的アーカイブであり、訪問者がウェブページや、場合によってはポータルサイト全体を時間をかけて閲覧することを可能にするウェブサイトである。インターネット・アーカイブは、最も人気のあるサイトを優先して、何千何万ものページを継続的に保存し、簡単に検索可能な時間インデックスで利用できるようにします。このようなツールの真の可能性を実感するには、特に期限切れドメインの回復を扱う場合、一回のクリックで十分です。実際に人為的な誤りであれ、SEO戦略であれ、CSS画像やjavascriptを完備した原型にできるだけ近い版のサイトを一時的に復元したいと思うことはよくあることです。Rubyライブラリは、ウェイバックマシンのAPIと組み合わせて、コマンドラインからウェブサイトの完全な複写版をダウンロードするのに役立つものであるかもしれません。

このサイトの過去のコピーを素早くダウンロードするにはどうすればいいのか。

 

0.Rubyをダウンロードする(Windows用)

このアドレスを通して最新バージョンのRuby(バージョン1.9.2以上)をダウンロードしてインストールし、次のステップに進んでください。without Devkit版を推奨します。

 

1.Wayback Machine Downloaderのスクリプトをインポートする。

Rubyを管理者としてコマンドプロンプト(Start Command Prompt with Ruby)を実行します。次のコマンドを入力して、wayback_machine_downloaderライブラリをインストールします。

gem install wayback_machine_downloader

2.ダウンロードするWebサイトのバージョンを検索する

私は古いPianoWebサイトで最初の実験を行いました。

例:

http://web.archive.org/web/20120826121114/https://pianoweb.eu/

3.ダウンロードを開始する

スナップショット全体をダウンロードするためにはRubyのコマンドプロンプトにダウンロードするコマンドを入力します。

例:

wayback_machine_downloader https://pianoweb.eu/ --from 20120826121114

解説すると

wayback_machine_downloader サイトのURL --from スナップショットされた日付

ここで「--from」コマンドは指定されたタイムスタンプとその以後の時点のタイムスタンプを基にクローリングします。逆に「--to」コマンドは指定されたタイムスタンプとその以前の時点のタイムスタンプを基にクローリングします。この二つのコマンドを共に活用することもできます。他のコマンドは開発者の説明をご覧ください。

たまにURL末尾に.htmや.htmlがある場合、そのhtmlファイル一つのみダウンロードされますので、もし単一ファイルではなく、ウェブサイト全体をダウンロードしたい場合は「.html」や「.htm」を消してからもう一度試してください。

ダウンロード時間は、使用しているコンピュータ、使用可能な接続の種類、Wayback Machineサーバーの混み合いによって異なります。数ページのサイトの場合、約10分ほどかかります。私の場合、システムは1160秒かかりました。(ほぼ20分)

結果は、インターフェースの観点からはあまり満足のいくものではありませんでしたが、Webサイトのすべてのページを正しく保存し、すべてのコンテンツがフォルダーごとに分けて保存されました。保存先はデフォルト設定として「C:\Users\ユーザー名\websites\保存されているサイト名」または「C:\Windows\System32\websites」を確認してください。またはショートカットキー「Windowsキー」+「R」を押した後にユーザーフォルダを開くための「%UserProfile%」を入力してフォルダを開いても構いません。

よく分からないなら、「websites」というフォルダー名を検索して探してください。

ページの内容を確認するためにはindex.htmlを開く。

後書き

もしサイト全体ではなく一部だけが保存されていたり、抜けているページがある場合は、別の日付に変更して再度試す必要があることもあります。

ウェブサイトの一部の要素(主に画像や動画など)がWayback machineサーバーに保存されていないことがあります。このような場合はその該当部分はファイルの読み込み失敗アイコンが表示されるか、何の応答もない状態でしょう。特に動画はファイルサイズが大きいことに加え技術的に画像とは異なり、複数の画質設定が存在していることや古い技術の使用、そして動画配信方式の違いなどにより、ボットが要素を正常にクローリングできず、サーバー上にファイルが存在しない場合がありますので、その場合は他のアーカイブサイトを探すか、別の方法を試すか、あるいは諦めてください。