Dropboxから画像を集めてくる

某懇親会の画像をDropboxにおいてもらったのはいいのですが、クリックしながら収集とか死にそうだったので、ちょめちょめと書きました。

# -*- coding: utf-8 -*-
require 'rubygems'
require 'mechanize'
require 'hpricot'

agent = WWW::Mechanize.new

(0..11).each{|i|
  url = "https://www.dropbox.com/gallery/ほげほげふがふが&p=#{i}"
  source = Hpricot(agent.get_file(url))
  
  (source/"td/center/a").each{ |item|
    png_url = item["alt"]
    if png_url =~ /(.*?)dl_name=(.*?).JPG/
      begin
        png_file = agent.get(png_url)
        png_file.save("#{$2}.jpg")
        puts "saved #{png_url}"
      rescue => ex
        puts "caught exception!"
        retry
      end
    end
    sleep 10
  }
}