[!NOTE]
この記事は 2012/04/16 にseijimomoto.blogspot.com
へ投稿した内容を Qiita へ移行してきたものです
ウェブサイトのコンテンツをダウンロードしてローカルに保存する手順の備忘です。wget や cURL を使用する方法がありますが、ここでは wget を使用する方法を説明しています。
GNU wgetを使用する方法
特定の1ページについてコンテンツを取得する
-- URLを指定してコンテンツをダウンロードする
$ wget -pk https://www.gnu.org/software/wget/
-- コンテンツはホスト名の名前がついたディレクトリの中にダウンロードされる
$ ls -R ./www.gnu.org/
./www.gnu.org/:
combo.css graphics layout.min.css mini.css print.min.css robots.txt software
./www.gnu.org/graphics:
fsf-logo-notext.png heckert_gnu.small.png topbanner.png
./www.gnu.org/software:
wget
./www.gnu.org/software/wget:
index.html
ダウンロードした HTML ファイルをウェブブラウザで開くと、コンテンツを取得できていることを確認できます。
再帰的な取得
サイト全体のコンテンツを再起的に取得する場合は、wget のオプションに -r
を付けます。このオプションを付けてコマンドを実行した場合、ページ内のリンクを辿って複数のページのコンテンツを一度に取得することができます。
例えば、次のコマンドでは http://localhost/
から取得できるコンテンツを全てダウンロードします (Wget for Windows の場合):
サイト全体のコンテンツを再起的に取得する
> wget.exe ^
--wait=3 ^
--force-directories ^
--directory-prefix=.\download\ ^
--html-extension ^
--convert-links ^
--page-requisites ^
--recursive ^
--level=0 ^
http://localhost/
Cookie やユーザーエージェントを指定して取得
例えば、次のコマンドでは Cookie やユーザーエージェントを指定して http://localhost/
から取得できるコンテンツをダウンロードします (Wget for Windows の場合):
> wget.exe ^
--force-directories ^
--directory-prefix=.\download\ ^
--execute="robots=off" ^
--keep-session-cookies ^
--load-cookies=.\download\cookies.txt ^
--save-cookies=.\download\cookies.txt ^
--user-agent="Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko/20100101 Firefox/11.0" ^
http://localhost/