質問: どのようにwgetを使用してサイトを1レベルの深さでミラーリングし、cssイメージを含むjs、cssリソースを回復しますか? 永続的な保存のために、簡単なページのコピーをhdにダウンロードしたいと思います。私は深い再帰的なgetを探しているのではなく、単一のページだけを探していますが、そのページによって読み込まれるすべてのリソースもダウンロードする必要があります。例: https://www.tumblr.com/ 期待する: index.html ロードされた画像 ロードされたjsファイル ロードされたcssファイル cssファイルに読み込まれた画像 ダウンロードされたコピーで動作するようにローカライズされたページリソースへのリンク(web依存なし) これを行うのに最適なwget構文または他のツールを見つけるのを手伝ってくれるかどうか知りたいです。私が試したツールは通常、cssによる画像の読み込みに失敗するため、ローカルに読み込んだときにページが正しく表示されません。ありがとうございました!正接ソリューションfirefoxを使用してこれを行う方法を見つけました。デフォルトの保存は壊れており、「保存完了」と呼ばれるアドオンがあり、明らかにこれでうまくいくことができます。ただし、firefoxの現在のバージョンではサポートされていないため、ダウンロードできません。その理由は、このアドオン「mozilla archive format」に組み込まれたためです。それをインストールし、[ファイル]> [名前を付けてページを保存...]を使用すると、基本的に古いアドオンである「webページ、完了」という新しいオプションがあり、firefoxが使用するストック実装を修正します(これはひどいです)。これはwgetソリューションではありませんが、実行可能なソリューションを提供します。編集:これをやろうとしている将来この質問をフォローしている可能性のある人のための別のばかげた問題。アドオンを適切に機能させるには、[ツール]> [mozillaアーカイブ形式]を選択し、(ページの忠実なスナップショットを撮る)の(ひどい)デフォルト設定を[保存完了を使用してスクリプトとソースを保持する]に変更してください。変更しないと、アドオンがすべて空になりますスクリプトファイルを置き換え、「/ *スクリプトはスナップショットの保存によって削除されました* /」というテキストに置き換えます。
回答: あなたが言及した特定のサイトと、それのようにコード化された他の多くのサイトでは、wget(およびcurl)は機能しません。問題は、ブラウザでページをレンダリングするために必要なアセットリンクの一部が、javascriptを介して作成されていることです。 wgetには、javascriptの実行が保留されている機能リクエストがあります。 http://wget.addictivecode.org/featurespecifications/javascript ただし、それが完了するまでは、javascriptを使用してアセットリンクを構築するサイトは、wgetを使用して複製できません。最も簡単な解決策は、実際にdomを構築し、ブラウザーエンジン(つまり、あなたが言及したfirefoxメソッド)のようにjavascriptを解析するツールを見つけることです。