So-net無料ブログ作成
ウェブサイトをダウンロードする方法 ブログトップ

ウェブサイトを一括で全部ダウンロードする方法。 [ウェブサイトをダウンロードする方法]

最も簡単に任意のウェブサイトを全部ダウンロードして保存する方法です。
勿論、使用するのは " wget " コマンドです。
wget コマンドはCUIから利用可能で、ウェブサイトのリンクを辿りながらページや画像などのコンテンツをダウンロードして保存したり出来る便利な機能です。
wgetがインストールされていない場合はまずwgetをインストールして置いて下さい。

以下に、写真投稿サーヴィスのFlickrから静的に画像が貼られたウェブサイトをダウンロードするコマンドの例を示します。
wget -r -l 3 -k -p -w 1 --random-wait \
--reject-regex='_o.png|_o.jpg' \
-H -D xxxx.xxxx.jp,\
c1.staticflickr.com,c2.staticflickr.com,c3.staticflickr.com,c4.staticflickr.com,c5.staticflickr.com,c6.staticflickr.com,c7.staticflickr.com,c8.staticflickr.com,c9.staticflickr.com,\
farm1.staticflickr.com,farm2.staticflickr.com,farm3.staticflickr.com,farm4.staticflickr.com,farm5.staticflickr.com,farm6.staticflickr.com,farm7.staticflickr.com,farm8.staticflickr.com,farm9.staticflickr.com \
http://xxxx.xxxx.jp/ \
-P ./download/site001/


[使用したオプションと引数の説明]
-r
ハイパーリンクを辿って再帰的にダウンロードします。既定値では5階層まで辿ります。

-l 3
再帰的に辿るリンクの階層数を指定した数に制限します。例では3回分のハイパーリンクを辿ります。

-k
ダウンロードが完了した後に、ファイル内に記述されているURLを、ローカルで閲覧するのに適したものに変換します。

-p
ウェブ ページを正しく表示するのに必要なファイルを全てダウンロードします。インラインの画像ファイル、音声ファイル、参照されるスタイルシートなどです。

-w 1
リクエスト毎に指定の秒数待ちます。例ではリクエスト間隔を1秒に設定しました。

--random-wait
リクエスト間隔を指定秒数の0.5倍から1.5倍の間で変化させる事により、ウェブサイトから遮断される事を回避します。

--reject-regex='_o.png|_o.jpg'
正規表現によって条件に合致するURLを弾きます。この例では " _o.png " という文字列を持つファイルと、 " _o.jpg " という文字列を持つファイルを弾きます。

-H
外部のドメインからもファイルをダウンロードします。

-D xxxx.xxxx.jp,c1.staticflickr.com,....
ファイルをダウンロードするドメインを限定します。複数のドメインを指定する際にはコンマ (,)で区切って列挙します。

http://xxxx.xxxx.jp/
ダウンロード対象の起点となる任意のURLを指定します。

-P ./download/site001/
ダウンロードしたファイルを保存するディレクトリー (フォルダー)を指定します。


この例のウェブサイトではページ内に、写真投稿サーヴィスのFlickrにアップロードされている画像を " <img> " タグで表示しています。
これらの静的にリンクされた画像も保存したいので、ダウンロード対象のウェブサイトのドメインに加えて、Flickrの画像データが置かれているドメインである " c1.staticflickr.com " から " c9.staticflickr.com " と " farm1.staticflickr.com " から " farm9.staticflickr.com " を、 " -H -D " に続けてコンマで区切って指定致します。

また、オリジナル サイズの画像ファイルはデータが大きく、サーヴァーのサーヴィスに負担を掛けてしまうので、 " _o.png " 及び " _o.jpg " で終わるファイル名を持つオリジナル サイズの画像をダウンロードしないように弾いております。


これにより、画像なども含めてウェブサイトを丸ごと全部ダウンロードして保存する事が出来ます。
注意点と致しまして、多くのファイルをダウンロードしようとすると、相手のウェブサイトのサーヴァーに過負荷となり、サーヴィスを妨害する事になりかねませんので、極力ウェブサイト全体のダウンロードは避けて下さい。 この方法を実行するのは、どうしても必要な場合だけにして下さい。

次の記事がとても参考になります。
"@IT" の記事 "Linux基本コマンドTips(24):【 wget 】コマンド――URLを指定してファイルをダウンロードする" のURL:
http://www.atmarkit.co.jp/ait/articles/1606/20/news024.html

"GNU Wget" の公式の解説ページのURL:
https://www.gnu.org/software/wget/manual/html_node/index.html

nice!(0)  コメント(0) 
ウェブサイトをダウンロードする方法 ブログトップ