概要
webサイト全体をクロールして保存するには、wgetコマンドと--mirrorオプションを使います。 保存先を指定するには、--diretory-prefixオプションを使います。
カレントディレクトリに保存する
--mirrorオプションを使うと、カレントディレクトリに、webサイトのドメイン名のディレクトリが作られます。その下にツリー構造で保存されます。
例えば、カレントディレクトリは ~/tmp/、カレントディレクトリに保存したい場合、次のように使います。
カレントディレクト下にwww.ninton.co.jpディレクトリが作られて、その下にツリー構造で保存されます。
$ mkdir ~/tmp
$ cd ~/tmp
$ wget --mirror https://www.ninton.co.jp
$ ls
www.ninton.co.jp
$ tree www.ninton.co.jp
www.ninton.co.jp/
├── archives
│ └── category
├── comments
│ └── feed
Code language: PHP (php)
ターミナルでwgetコマンドを直接起動するときは、ミラーリング結果をカレントディレクトリに保存することが多いです。次の --directory-prefixオプションを使うことは少なく、ついオプション名を忘れてしまいます。
保存先を指定する
ターミナルでwgetコマンドを直接起動するのではなく、シェルスクリプトやnodejs、その他のスクリプト内でwgetを使うときは、カレントディレクトリではない場所にミラーリングを保存したいことがあります。
ミラーリングの保存先を指定するには、--diretory-prefixオプションを使います。
例えば、カレントディレクトリは ~/tmp/、保存先は ~/tmp2/ としたい場合、次のように使います。
$ mkdir ~/tmp
$ mkdir ~/tmp2
$ cd ~/tmp
$ pwd
/home/taro/tmp
$ wget --mirror --directory-prefix=/home/taro/tmp2/ https://www.ninton.co.jp
$ ls
(カレントディレクトリに www.ninton.co.jp は作られていません)
$ ls ~/tmp2
www.ninton.co.jp
Code language: PHP (php)