wgetとcurlの根本的な違い – ctrlshiftの日記

wgetとcurlの根本的な違いAdd Starkosekioshikojiatcorpkayakayakitokitokinoromanbawindishinfinity_th4

22:17 | wgetとcurlの根本的な違いを含むブックマーク

UNIXの代表的なダウンローダwgetcurlがあります。

たいていの場合どんなOSでも、どちらかのソフトがインストールされているのではないかと思います。

しかし、この2つのダウンローダの機能は、一見似ているようにも見えますが、実はそれぞれに特徴が見られるので、今日はそれについて解説してみます。

wgetの特徴

wgetのスペルは「片手でもコマンドできる」ということもあって、多くの人から気に入られています。

そんなwgetの特徴として、最も際立っているのが、クローラとして動作可能という点です。

オプションで-rを付加してやることで再帰的に動作し、-lでその深さを指定することができます。

また、-Aや-Rを利用すれば、ダウンロードする拡張子ホワイトリストブラックリストを指定することも可能です。

つまり、特定のサイト内に散らばって存在するファイルを、拡張子によって指定ダウンロードできるのです。

curlには、htmlに記述されているリンクをたどっていく機能はないので、こんなことはできません。

また、自分のサイトのファイルをダウンロードしてミラーリングを行おうという場合にも、やはりwgetに軍配が上がります。

# -r:再帰的に   -A:拡張子を指定    -l:リンクの階層を指定wget -r -A jpg,png,gif,bmp -l 3 http://www.abc.com/# -m:ミラーリングwget -m http://www.abc.com/# --spideer:再帰的にクローリングするけれど、ダウンロードはしないwget --spider http://www.abc.com/

curlの特徴

curlの特徴は、対応しているプロトコルや、機能の量にあります。

HTTPHTTPSFTP、FTPS、SCP、SFTP、TFTP、DICT、TELNETLDAP、FILEと、多くの拡張子に対応している上、プロキシ、ユーザー認証、FTPアップロードHTTP POST、SSL接続などができてしまう優れものです。

そして、その上、もう1つの優れた機能があります。

curlには連番ファイルのダウンロードが可能です。

wgetでこれをやろうとしても、自分でテキストファイルにURLのリストを作って、-iオプションで入力するしかありません。

その点、curlは始めから連番ファイルのダウンロードができるようになっているので、ネットからのダウンロードに重宝します。

# 1~100までのファイルcurl -O http://www.abc.com/file_[1-100].jpg# a~zまでのファイルcurl -O http://www.abc.com/file_[a-z].jpg# 1~100までを10きざみでcurl -O http://www.abc.com/file_[1-100:10].jpg# one,two,threeで置き換えてcurl -O http://www.abc.com/file_{one,two,three}.jpg

まとめ

それぞれの特徴をまとめますと、wgetはクローラとして、curlは連番ファイルのダウンローダとしての機能が盛り込まれています。

両方とも優れた機能を持っているので、状況によって使い分けできたら最高ですね。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中