html内の画像をまとめてDLする方法

とあるWebサイトでたまに使うのでmemo。やり方なんていっぱいあるんだけどね。べ、別にエロ画像集めてるわけじゃありませんよ!

  1. curlでhttpアクセス
  2. grepでIMGタグの行を抽出
  3. それをsedで置換してファイル名の部分だけ取得
  4. 絶対パスに置換するために http://を補完する
  5. これで全ファイル名が出てくるので、xargsとwgetで全DLする

みたいな。

$ curl http://example.com/ | sed -e 's/.*src=//' -e 's/ alt.*//' -e 's\^\http://example.com/\' | xargs wget

後で気付いたけど、ソースもwgetで取ってきたほうが楽だ

ちなみに連番のファイルだったら、zshwgetコンビの超有名な技がありますね。

$ wget http://example.com/img/gazou{000..100}.jpg

的な感じの。あぁエロい。