wget を使って画像を含むサイト全体をダウンロードする方法

wget を使って画像を含むサイト全体をダウンロードする方法

次のようにしてサイト全体をダウンロードしようとしていますwget:

wget -r http://whatever/

wget -m http://whatever/

しかし、ダウンロードされるのはテキストのあるページだけで、画像はダウンロードされません。テキストと画像のあるページをダウンロードするにはどうすればいいでしょうか? 何が足りないのでしょうか?

答え1

使用する必要があるコマンドwgetは、以下で説明するように、はるかに長くなります。そのため、 などのファイルにコミットしwholesite.sh、実行可能にして実行することをお勧めします。これにより、URL のディレクトリと、画像、js、css などのサイトのアセットのサブディレクトリが作成されます。

wget \
     --recursive \
     --level 5 \
     --no-clobber \
     --page-requisites \
     --adjust-extension \
     --span-hosts \
     --convert-links \
     --restrict-file-names=windows \
     --domains yoursite.com \
     --no-parent \
         yoursite.com

説明

--recursive これは、取得するサイトのアセットのサブディレクトリの数を指定します (画像などのアセットは、多くの場合、サイトのサブディレクトリに保存されるため)。アセットを検索するデフォルトの最大深度は、5 つのサブディレクトリです。これは、levelすぐ下のフラグを使用して変更できます。

--level 55 つのサブディレクトリでアセットを検索します。ターゲット サイトが大きい場合や小さい場合は、この値を増やすか減らすことをお勧めします。

--no-clobber 既存のファイルを上書きしないでください。

--page-requisiteswget指定されたHTMLページを適切に表示するために必要なすべてのファイルをダウンロードします。これには以下が含まれます 。画像、CSS、JS など。

--adjust-extension .html、.css、その他のアセットの適切なファイル拡張子を保持します。

--span-hosts オフサイトからの必要な資産も含めます。

--convert-links サイト リンクを更新して、ローカル マシンのサブディレクトリ内のファイルとして機能させます (ローカルで表示する場合)。

--restrict-file-names=windows このコマンドを Windows システムで使用する場合は、ファイル名を変更して Windows でも機能するようにします。

--domains yoursite.com このドメイン外のリンクをたどらないでください。

--no-parent 渡したディレクトリ外のリンクをたどらないでください。

yoursite.com# ダウンロードするURL


以下から改変した例:https://gist.github.com/christiangenco/8531418

関連情報