̃Gg[͂ĂȃubN}[Nɒlj

Unix :: あるURLをブラウザで表示する際の合計容量を測定する



  • 以下のサンプルでは実際に「www.google.co.jp」にユーザエージェント「SoftBank」として wget しています
  • 合計容量には、HTMLファイルをはじめ、CSSや画像(JPEG,PNG等)も含まれます
% URL='www.google.co.jp'; wget -q http://${URL} --user-agent=SoftBank -p; \
find ${URL} -type f | xargs ls -la; \
find ${URL} -type f | xargs ls -la | tr -s ' ' | cut -d' ' -f5 \
| awk '{sum+=$1}; END{print "Total:"sum}'; \
rm -rf ${URL}

↓実行結果

-rw-r--r-- 1 hoge fuga 5190 Feb 12 00:09 www.google.co.jp/m
-rw-r--r-- 1 hoge fuga 2752 Feb  8 08:30 www.google.co.jp/robots.txt
-rw-r--r-- 1 hoge fuga 2026 Nov 30  2006 www.google.co.jp/xhtml/images/google.gif
Total:9968

合計:9968bytes であることがわかった

使いどころとしては
携帯(ケータイ)サイトの構築の際、あるURLを開こうとすると容量オーバーでエラーになる場合などの参考にする


2011/01/16 追記

  • 外部ホストの画像を読み込んでいて、その画像の容量も含めたい場合
% URL='example.com'; \
TMPDIR='tmp_'$RANDOM; \
mkdir ${TMPDIR}; \
cd ${TMPDIR}; \
wget -q -H -p -nd http://${URL} --user-agent=DoCoMo; \
ls -la; \
find . -type f | xargs ls -la | tr -s ' ' | cut -d' ' -f5 \
| awk '{sum+=$1}; END{print "Total:"sum}'; \
cd ..; \
rm -rf ${TMPDIR}
  • -H オプションで、外部ホストもダウンロード対象にする
  • -nd オプションで、ディレクトリを作らない



unix/command_operation/wget_find_xargs_awk.txt