Linux
きほんの wget
Webページの内容を取得する wget コマンド
ファイルをダウンロードしたり Web コンテンツから文字列を取得することができる wget コマンド。HTTP な Web サイトでは意識することなかったんですが、HTTP/2 が推進され SSL が標準化されていく中で ちゃんと知っておかないといけないなあ、と思ったのでメモ。
準備
パッケージの入れ方から。
# Redhat系
yum install wget
# Debian系
apt-get install wget
使い方
サイトをダウンロードする基本の書きかた。
# トップページを取得
wget example.ne.jp
# 階層指定する
wget -l 2 -H -r example.ne.jp
# 名前をつけて保存する
wget example.ne.jp -O ./filename.html
オプションの -l はディレクトリ階層の深さです。「 -l 2 」は2階層目までを表します。
-H はドメインを固定します。リンクが別ドメインのものは取りにいかない。
-r は再帰的にダウンロードします。
SSL な Web ページに wget を使う
wget は SSL に対応していないので --no-check-certificate オプションを使います。
wget --no-check-certificate https://example.ne.jp
標準出力する
-qO- オプションでファイルにダウンロードすることなく標準出力することができます。
wget -qO- example.ne.jp
wget -qO- --no-check-certificate https://example.ne.jp
BASIC 認証の掛かった Web サイトで wget する
ユーザー名とパスワードを指定してアクセスします。
wget --http-user={username} --http-passwd={password} {example.ne.jp}
フォームから post 送信して wget したいとき
ログイン認証ページを抜けた先の情報を取りたいときの書きかた。
wget --post-data="userid=xxxxxxxx&password=xxxxxxxxx" --no-check-certificate "https://example.com/"
よそのサイトからログインして取ってきたものを文字列整形して活用したいとか、そういった時に使えます。