Google画像検索ダウンロードにサイズと保存ファイル名オプション追加

前回の、
Google画像検索の1件目をダウンロードするスクリプト - へにゃぺんて@日々勉強のまとめ
の記事で紹介したスクリプトに、以下のオプションを追加しました

  • 検索時の画像横幅(-wオプション)
  • 検索時の画像縦幅(-hオプション)
  • 保存時のファイル名(-fオプション)

スクリプト

#!/bin/sh

while getopts f:w:h: OPT; do
	case $OPT in
		'f' ) FLG_F='TRUE' ; VALUE_F="$OPTARG" ;;
		'w' ) FLG_W='TRUE' ; VALUE_W="$OPTARG" ;;
		'h' ) FLG_H='TRUE' ; VALUE_H="$OPTARG" ;;
	esac
done

shift $(( $OPTIND - 1 ))

UA=Mozilla/5
URL=http://www.google.com/images?q=$(echo $* | nkf -WwMQ | tr = %)
if [ "$FLG_W" = 'TRUE' -o "$FLG_H" = 'TRUE' ]; then
	URL_OPT="&tbs=isz:ex,iszw:$VALUE_W,iszh:$VALUE_H"
fi

IMG_URL=$(curl -s -A $UA $URL$URL_OPT | sed 's/>/>\n/g' | sed 's/?/\n/g' | sed 's/&/\n/g' | sed 's/%/\n/g' | grep imgurl | sed -n 1p | cut -d'=' -f2)
if [ "$FLG_F" = 'TRUE' ]; then
	wget -O $VALUE_F -U $UA $IMG_URL
else
	wget -U $UA $IMG_URL
fi

使い方

例) 「Linux」に関連する画像で、1440x900のサイズの画像を、「wallpaper.jpg」という名前で保存する
スクリプト自体は「gimg.sh」という名前で保存していて、実行権限付加済みとします。

$ ./gimg.sh -f wallpaper.jpg -w 1440 -h 900 Linux