≫wget とは
wget とは、UNIXコマンドラインで HTTP や FTP 経由のファイル取得を行えるツールです。
Webサイトであれば、リンク先を階層で指定して一気に取得することができ、オフラインでじっくり読んだり、ミラーサイトを簡単に作ることが可能です。
また、ダウンロードが途中で止まってしまった場合は、途中からやり直すレジューム機能があり便利です。
wget はGNUプロジェクトで作られているフリーソフトです。改良も配布も自由なので、是非活用しましょう。
Webサイトであれば、リンク先を階層で指定して一気に取得することができ、オフラインでじっくり読んだり、ミラーサイトを簡単に作ることが可能です。
また、ダウンロードが途中で止まってしまった場合は、途中からやり直すレジューム機能があり便利です。
wget はGNUプロジェクトで作られているフリーソフトです。改良も配布も自由なので、是非活用しましょう。
≫wget の入手とインストール
wget はとても標準的なものなのでほとんどのUNIX系システムには入っていることだと思いますが、無い場合は入手しなければなりません。
apt-get で簡単インストール。
だめならソースを入手。
ftp://gnjilux.cc.fer.hr/pub/unix/util/wget/ あたりが良いかと思います。
てな感じで一撃。
インストール先は基本的に /usr/local/bin/ です。
apt-get で簡単インストール。
|
# apt-get install wget |
だめならソースを入手。
ftp://gnjilux.cc.fer.hr/pub/unix/util/wget/ あたりが良いかと思います。
|
# tar zxvf wget-X.X.X.tar.gz # cd wget-X.X.X # ./configure # make # make install |
インストール先は基本的に /usr/local/bin/ です。
≫使い方
wget の使い方は簡単。
例えば、トップページをダウンロードしたい場合
これで、カレントディレクトリに index.html というファイルがダウンロードされます。
オプションをつけることによって wget はさらに便利になります。
URLを起点としてリンク先を3階層たどってファイルを取得します。
サイトごとダウンロードする場合は -r
大きいファイルで途中でダウンロードが止まった場合は -c でレジューム
filepath で指定されたファイルに記述された URL を自動取得してダウンロードなんてこともできます。-i
つまり、文法としては
ということになります。
例えば、トップページをダウンロードしたい場合
| # wget http://www.sample.com/index.html |
オプションをつけることによって wget はさらに便利になります。
| # wget -l 3 http://www.sample.com/index.html |
URLを起点としてリンク先を3階層たどってファイルを取得します。
サイトごとダウンロードする場合は -r
| # wget -r http://www.sample.com/ |
大きいファイルで途中でダウンロードが止まった場合は -c でレジューム
| # wget -c http://www.sample.com/index.html |
filepath で指定されたファイルに記述された URL を自動取得してダウンロードなんてこともできます。-i
| # wget -i filepath |
つまり、文法としては
| # wget -オプション (オプション引数) URL |
≫wget コマンド一覧
■全般オプション
■ファイル取得に関するオプション
■再帰的取得に関するオプション
■ローカル保存に関するオプション
| コマンド名 | 解説 |
|---|---|
| -V | wget のバージョン表示 |
| -h | オプション一覧のヘルプ(困ったらコレ) |
| -b | ダウンロードをバックグラウンドで行います |
| -o FileName | ログファイルを FileName に書き出します(上書き) |
| -a FileName | ログファイルを FileName に書き出します(追記) |
| -q | ログファイルを書き出さない |
■ファイル取得に関するオプション
| コマンド名 | 解説 |
|---|---|
| -t Number | ダウンロード試行回数 |
| -O FileName | 取得内容をを FileName に書き出す |
| -nc | 既に取得済みのファイルは改めて取得しない |
| -c | ダウンロードが途中で終わったものを継続するレジューム機能 |
| -w Number | ダウンロードの間隔(秒)を指定する |
| -q Number | 取得ファイルの最大容量 (単位はバイト:kでキロバイト:mでメガバイト) |
■再帰的取得に関するオプション
| コマンド名 | 解説 |
|---|---|
| -r | 再帰的取得を行う |
| -l Number | リンクをたどる階層数 |
| -k | 取得時に絶対指定のリンクを相対指定に書き換える |
| -m | ミラーリングする |
| -A EXT | EXTで指定された拡張子ファイルのみ取得 |
| -R EXT | EXTで指定された拡張子のファイルは取得しない |
| -I DirList | 取得対象のディレクトリリスト ex. # wget -I /a,/b URL |
| -X DirList | 取得対象外のディレクトリリスト ex. # wget -I /c,/d URL |
| -np | 親ディレクトリは参照しない |
| -L | 相対リンクのみ辿る |
| -H | ホストの壁を越えて再帰的取得を行う |
| -D Domain | Domainを取得対象とする |
■ローカル保存に関するオプション
| コマンド名 | 解説 |
|---|---|
| -i Filepath | Filepathで指定されたファイルに記述されたURLを取得 |
| -nd | ローカルにディレクトリを作らない |
| -x | ローカルにディレクトリを作る |
| -nH | ローカルへ保管時にhost名の部分をはずしてディレクトリーを作成する |
| -p DirPath | ローカル保存の起点を DirPath にする |
| -q Number | 取得ファイルの最大容量 (単位はバイト:kでキロバイト:mでメガバイト) |
≫wgetrc
コマンドラインで毎回オプションを指定するのは面倒です。
そういった場合は、wget の初期設定ファイル wgetrc でオプションをデフォルトで有効になるよう記述しましょう。
wgetrc は /usr/local/etc/wgetrc や /etc に見つかるかと思います。
文法としては
という非常にシンプルなものです。
■wgetrc のコマンド一覧
そういった場合は、wget の初期設定ファイル wgetrc でオプションをデフォルトで有効になるよう記述しましょう。
wgetrc は /usr/local/etc/wgetrc や /etc に見つかるかと思います。
文法としては
| コマンド = 値 |
■wgetrc のコマンド一覧
| コマンド名 | 解説 | 対応コマンドラインオプション | accept = STRING | -A |
|---|---|---|
| reject = STRING | -R | |
| add_hostdir = on/off | ホスト名を先頭に追加する | -nH (off) |
| always_rest = on/off | (中断したところから) 取得を続行する | -c |
| base = STRING | 相対 URL の基準パス | -B |
| convert_links = on/off | 相対でないリンクをローカルに変換する | -k |
| debug = on/off | デバッグモード | -d |
| delete_after = on/off | ダウンロード後に削除 | --delete-after |
| dir_mode = N | サブディレクトリ作成時のパーミッションの設定 (デフォルトは 0755) | |
| dir_prefix = STRING | ディレクトリ ツリーのルート指定 | -P |
| dirstruct = on/off | ディレクトリ作成のオン/オフ | -x (on), -nd (off) |
| domains = STRING | 探索するドメイン のリスト | -D |
| dot_bytes = N | 取得時に出力されるドットが示すバイト数 (デフォルトは 1024)。値の後に "k" または "m" を付加し、キロバイトまたはメガバイトで指定することができる | |
| dots_in_line = N | 取得時に 1 行に出力されるドット数 (デフォルトは 50) | |
| dot_spacing = N | 1 クラスタあたりのドット数 (デフォルトは 10) | |
| dot_style = STRING | ドットのスタイル | --dot-style |
| exclude_directories = STRING | ダウンロードを除外するディレクトリのリスト (カンマ区切り) | -X |
| exclude_domains = STRING | 除外するドメイン のリスト | --exclude-domains |
| follow_ftp = on/off | HTML ドキュメント中の FTP リンクを追跡する | -f |
| force_html = on/off | 入力ファイルを強制的に HTML ドキュメントみなす | -F |
| ftp_proxy = STRING | グローバルに設定されている FTP プロキシの代わりに STRING を利用する | |
| glob = on/off | globbing (ワイルドカード指定) のオン/オフ | -g |
| header = STRING | 追加ヘッダの定義 | --header |
| http_passwd = STRING | HTTP パスワードの設定 | |
| http_passwd = STRING | グローバルに設定されている HTTP プロキシの代わりに STRING を利用する | |
| http_user = STRING | HTTP ユーザの設定 | |
| ignore_length = on/off | Content-Length ヘッダを無視する | --ignore-length |
| include_directories = STRING | ダウンロード時に追跡するディレクトリのリスト (カンマ区切り) | -I |
| input = STRING | STRING から URL を読み込む | -i |
| kill_longer = on/off | Content-Length ヘッダの指定よりもデータが長い場合は不正とみなし、再取得を試みる。デフォルトの動作では存在するデータをそのまま保存するようになっており、Content-Length と同じ、またはそれ以上のサイズになる | |
| logfile = STRING | ログファイル名 | -o |
| login = STRING | リモートマシンのユーザ名。 FTP でのデフォルトは anonymous となる | |
| mirror = on/off | ミラーリングのオン/オフ | -m |
| lnoclobber = on/off | 既存ファイルを上書きしない | -nc |
| no_proxy = STRING | PROXY を使わないドメインのリスト (カンマ区切り)。グローバルな設定の代わりに読み込まれる | |
| no_parent = on/off | ディレクトリ階層の外部にあるデータの取得を禁止する | --no-parent |
| output_document = STRING | 出力ファイル名の指定 | -O |
| passive_ftp = on/off | passive FTP (?) | --passive-ftp |
| passwd = STRING | FTP パスワード。設定しない場合のデフォルトは username@hostname.domainname となる | |
| proxy_user = STRING | プロキシ認証のユーザ名 | --proxy-user |
| proxy_passwd = STRING | プロキシ認証のパスワード | --proxy-passwd |
| quiet = on/off | クワイエットモード | -q |
| quota = QUOTA | ダウンロード量の指定。グローバルな wgetrc に記述すると便利。ダウンロード総量が設定量以上になると、Wget は取得を中止する。値はバイト (デフォルト)、キロバイト (k を追加)、またはメガバイト (m を追加) で指定する。 quota = 5m と記述すると、ダウンロード量を 5 MB に設定する。システム設定はユーザのスタートアップ ファイルにオーバーライドされることに注意 | |
| reclevel = N | 再帰レベル | -l |
| recursive = on/off | 再帰検索のオン/オフ | -r |
| relative_only = on/off | 相対リンク のみを追跡する | -L |
| remove_listing = on/off | Wget がダウンロードした FTP リスト (.listing ファイル) を削除する | -nr (off) |
| retr_symlinks = on/off | シンボリックリンクを通常ファイルのように取得する | --retr-symlinks |
| robots = on/off | /robots.txt ファイルを使う。デフォルト設定 (on) を変更する際には、何が行われるかを理解すること | |
| server_response = on/off | HTTP および FTP サーバーの応答を出力する | -S |
| simple_host_check = on/off | ホストチェック を行わない | -nh |
| span_hosts = on/off | すべてのホスト を探索する | -H |
| timeout = N | タイムアウト値の設定 | -T |
| timestamping = on/off | タイムスタンプ の使用 | -N |
| num_tries = N | 1 つの URL あたりの再試行回数 | -t |
| use_proxy = on/off | プロキシ対応のオン/オフ | -Y |
| verbose = on/off | 詳細出力のオン/オフ | -v (on), -nv (off) |
| wait = N | データ取得時の待ち時間を秒単位で指定する | -w |