wget メモ
URL以下全ページの再帰ダウンロード。
$ wget -np -w 1 -P ~/Downloads -r -l0 -p -k -nv URL
- 「-np」 親ディレクトリは対象としない
- 「-w 1」 1秒のウェイト
- 「-P ~/Downloads」 保存ディレクトリの指定
- 「-r」 再帰的ダウンロード
- 「-l0」 最大深度の指定(0は無限回)
- 「-p」 ローカル環境で表示するための必要なファイルも含めてダウンロードする
- 「-k」 相対パスへの書き換え
- 「-nv」 詳細出力をしない
PHPファイルのように「index.php?foo=bar」と疑問符がついているURLのページがある場合は、「--adjust-extension --convert-links」という二つのオプションをさらに使うといいらしい(参照)。
※参照
windowsでのwgetメモ - Camera Obscura
wgetコマンド | 日経 xTECH(クロステック)
【 wget 】コマンド――URLを指定してファイルをダウンロードする:Linux基本コマンドTips(24) - @IT
wget - UNIX/Linuxコマンド - IT専科
wget の使い方
wgetでの一括ダウンロードが便利な件 – taichino.com
wgetが超絶便利なwebクローラー、クローリングツールだとは知らなかった・・・! - ばうあーろぐ
サイトデータを一括ダウンロードするwgetコマンド – asklife
わかりやすい。
wgetでホームページを丸ごとダウンロードする
日本語マニュアル。
http://www.bookshelf.jp/texi/wget/wget-ja.html
はてなダイアリーの一括ダウンロード
$ wget -np -w 1 -P ~/Downloads -r -l0 -p -k -nv -H -D d.hatena.ne.jp,\ www.flickr.com,photozou.jp,f.hatena.ne.jp http://d.hatena.ne.jp/obelisk2/
取得できなかったページがある場合は
- 「-nc」 既に取得済みのファイルは改めて取得しない
でいいのかな。それとも
- 「-c」 途中までダウンロードされていたら続きをダウンロードする
かな。
- 「-N」 ダウンロード対象と同名のファイルが既に存在する場合、更新時間を比較しローカル側に存在するファイルのほうが新しい時はダウンロード処理を行いません。
なんてのもあるぞ(-N と -nc は同時に指定できないようだ)。また
- 「-e robots=off」 robots.txt を無視する
が必要だろう(外部の画像ファイルが取得できていない)。
どうやら
- 「-nc -e robots=off」
を付けて再実行かな。それから、Flickr の画像置き場は「staticflickr.com」みたいだ。だから再実行は
$ wget -np -w 1 -P ~/Downloads -r -l0 -p -k -nv -nc -e robots=off\ -H -D d.hatena.ne.jp,staticflickr.com,photozou.jp,f.hatena.ne.jp\ --waitretry=10 --adjust-extension --convert-links\ http://d.hatena.ne.jp/obelisk2/
という感じか。あとはログを出力するために
- 「-a hatena_diary_wget.log」
でも付けると。
最終的に
$ wget -np -w 1 -P ~/Downloads -r -l0 -p -k -nv -e robots=off\ -H -D d.hatena.ne.jp,staticflickr.com,img.f.hatena.ne.jp,\ cdn-ak.f.st-hatena.com --waitretry=10 --adjust-extension --convert-links\ http://d.hatena.ne.jp/obelisk2/
とやってみた。