web-dev-qa-db-ja.com

archive.org Wayback Machineからウェブサイトをダウンロードするにはどうすればいいですか?

特定のWebサイトのすべてのファイルをarchive.orgで入手したいです。理由は次のとおりです。

  • 元の作者は自分のWebサイトをアーカイブしておらず、現在オフラインになっています。そこからパブリックキャッシュを作成したいのですが
  • 私はいくつかのウェブサイトの最初の作者であり、いくつかのコンテンツを失いました。回復したい
  • ...

それ、どうやったら出来るの ?

Archive.orgのウェイバックマシンは非常に特殊であることを考慮に入れると、Webページのリンクはアーカイブ自体を指すのではなく、もはや存在しない可能性のあるWebページを指すのです。 JavaScriptはクライアントサイドでリンクを更新するために使用されますが、再帰的なwgetのようなトリックは機能しません。

81
user36520

私はサイトをダウンロードするためにさまざまな方法を試してみましたが、ついに私は以前にHartatorによって言及されたwayback machine downloaderを発見しました。時間を節約するために、ここでは個別の回答としてwayback_machine_downloader gemを追加することにしました。

http://www.archiveteam.org/index.php?title=Restoring にあるサイトには、archive.orgからダウンロードする方法がリストされています。

  • Wayback Machine Downloader 、Wayback MachineからWebサイトをダウンロードするためのRubyの小さなツール。フリーでオープンソース私の選択!
  • Warrick - メインサイトがダウンしているようです。
  • Wayback Downloader 、Wayback Machineからサイトをダウンロードし、さらにWordpress用のプラグインを追加するサービス。無料ではありません。
62
Comic Sans

これは、 bashシェルスクリプトとwget を組み合わせて使用​​できます。

考え方は、ウェイバックマシンの URL機能 のいくつかを使用することです。

  • http://web.archive.org/web/*/http://domain/*http://domain/から保存されたすべてのページを再帰的にリストします。ダウンロードするページのインデックスを作成し、Webページ内のリンクを検出するヒューリスティックを回避するために使用できます。リンクごとに、最初のバージョンと最後のバージョンの日付もあります。
  • http://web.archive.org/web/YYYYMMDDhhmmss*/http://domain/pageは、YYYY年のすべてのバージョンのhttp://domain/pageを一覧表示します。そのページ内に、バージョンへの特定のリンクが(正確なタイムスタンプ付きで)見つかります。
  • http://web.archive.org/web/YYYYMMDDhhmmssid_/http://domain/pageは与えられたタイムスタンプで未修正のページhttp://domain/pageを返します。 id _トークンに注目してください。

これらは、特定のドメインからすべてをダウンロードするためのスクリプトを作成するための基本です。

11
user36520

この目的のために特別に設計されたツール、Warrickがあります。 https://code.google.com/p/warrick/

それはMementoプロトコルに基づいています。

4
Nemo

これはwgetで簡単に行えます。

wget -rc --accept-regex '.*ROOT.*' START

ここで、ROOTはWebサイトのルートURL、STARTは開始URLです。例えば:

wget -rc --accept-regex '.*http://www.math.niu.edu/~rusin/known-math/.*' http://web.archive.org/web/20150415082949fw_/http://www.math.niu.edu/~rusin/known-math/

START URLのWebアーカイブのラッピングフレームをバイパスする必要があることに注意してください。ほとんどのブラウザでは、ページを右クリックして「このフレームのみ表示」を選択できます。

0
jcoffland