画像を一括で取得するお手伝い

元ネタは wgetを使ってみる - nuke - attack with nuclear weapons -ときどきの雑記帖 i戦士篇 2009年9月(下旬) あたりからですが、これをまとめてみます。

wget と gawk が使える環境限定ですが、1 行で 【2ch】ニュー速クオリティ:【週末恒例】壁紙画像スレまとめ から画像だけを一気にダウンロードすることができます。 ただし、wget はサーバーに大きな負荷をかける可能性があるため、十分に注意してください。このページを見て一気にダウンロードしたせいでアクセス禁止のようなことになっても責任は負えません。 (個人的に wget を多用したために、あるサイトから本当にアクセス禁止になったことがあります)

結論から言えば、以下の 1 行です。

$ wget -o /dev/null -O - http://news4vip.livedoor.biz/archives/51375374.html | \
gawk -v RS='[<> ="]' '/jpg/&&/imgs/&&!/-s.jpg/' | \
wget --input-file=-

2Tunes : iphoneのカッコいい壁紙ください でも同じもので動作すると思います。

ここで gawk は grep のような役割をしていますが、gawk であれば RS に正規表現を用いることができますので、ある規則にしたがっていれば一気に URL を取得するようなことができます。 もっとも、HTML をパースしているわけではありませんので、他のサイトやページで同じスクリプトが使えるとは限りません。

tag_gawk.pngtag_gawk.png