それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

Flickrの写真をまとめてダウンロードする。

写真なアプリを作っていて、実験用サンプル画像が欲しくなりました。でも写真撮影が面倒なのでFlickrの写真を借りようと思いまして、ガッツリ取得する方法を模索しました

Flickrダウンロード

ruby flickr_download.rb [flickrの適当なURL]

一覧ページであれば、大抵行けます。便利

flickr_download.rb
#!/usr/bin/env ruby
require 'rubygems'
require 'open-uri'
require 'mechanize'
require 'nokogiri'


Dir.mkdir 'flickr' unless File.exists? 'flickr' 
Dir.chdir('flickr'){ 
	m = Mechanize.new
	m.get ARGV.first
	begin
	pp m.page.search('div#photo-display-container img').map{|e| 
		e = e.attr('src')
		e = e.gsub /_[a-z]\.jpg/, "_b.jpg"
	}.map{|e|
		[e, File.basename(e)]
	}.map{|e|
		open(e[1],"w") {|f|f.write open(e[0]).read
		}
	}
	end while(  m.page.links_with(:text=>/next/).size>0 and m.page.links_with(:text=>/next/).first.click ) 

}