とあるプロジェクトに参画して、特定のサイトの全データを取得することとなった
方法としては wget か crul 。今回は wget にて行うことに
一つのサイトに掲載されている情報を取得するにも
を考慮する必要がある。コンテンツの提供が静的なら拡張子によってコンテンツの種類は判明できよう
がだ、動的の場合、サイトのプログラムから吐き出されるMIMEタイプで判断される
一言、「丸ごと全部」っと言ってもその後の解析を考える上で悩ましい。
wget -r -t 1 -q -w 1 --random-wait --connect-timeout=15 -A html,htm,css,js http://www.xxx.zzz.xxxx/
-r: 再帰的なダウンロードを実行
-q: 進捗などの詳細表示をしない
-w: ファイル取得後の待ち時間
--random-wait: -wの値に0.5 - 1.5の係数を掛けて待ち時間を設ける
-t: リトライ回数 既定は20
-N: 既にダウンロードしたファイルと同じ時刻ならダウンロードしない
-A: 指定した文字列を含むファイルを取得 html,htm とか
-R: 指定した文字列を含まないファイルを取得 pdf,wmv とか
-p: そのページを構成するのに必要なcssやjsをダウンロード
-k: 絶対パスから相対パスへ切り替える
--limit-rate=100000: 帯域制限 100,000 (100KB/秒)
--connect-timeout=15: 接続タイムアウトを15秒にすr
wget -r -q -w 1 --random-wait -A html,htm -pk --limit-rate=100000
参照先:http://d.hatena.ne.jp/littlebuddha/20080317/1205728648
確認として、html以外のファイルがあるかをチェック
find . -type f -not -name "*.htm" -a -not -name "*.html"