rubyflickrから画像取得するプログラム書きました。

クエリ投げて帰ってきた1ページ目の画像を取得します。
全部取ってきたい場合は次へボタン押すなりなんなりして。
@queryを変えるといろいろ取得できます。
@savepathも変更したほうがいいです。

ちなみに一個ずつ取ってくると一つあたり数秒かかるので
すぐに大量にとってきたいときは、並列化したほうが…
けどあまり負荷かけすぎもよくないのでその辺は考慮して

require 'rubygems'
require 'hpricot'
require 'mechanize'
require 'open-uri'
require 'benchmark'

@savepath = 'graphics/'
@count=0
def crawlGraphics(image_url_list)
  image_url_list.each do |image_url|
    filename = File.basename(image_url)
    open(@savepath + filename, 'w') do |output|
      p "save Image"
      open(image_url) do |data|
        output.write(data.read)
      end
      puts("#{filename} save.")
      @count+=1
    end
  end
end

@agent=WWW::Mechanize.new()
@agent.user_agent_alias='Windows IE 7'
@query="google"
url="http://www.flickr.com/search/?q="+@query.to_s
@page=@agent.get(url)

img_list=[]

(@page/"img.pc_img").each do |img|
  img_list << img[:src]
end

p "getgraphics"
crawlGraphics(img_list)