Web の画像をファイルに保存する方法
require 'net/http' require 'uri' def save_file(url) filename = File.basename(url) open(filename, 'wb') do |file| file.puts Net::HTTP.get_response(URI.parse(url)).body end end url = 'http://d.hatena.ne.jp/images/diary/g/gan2/gan2_p.gif' save_file(url)
url は僕の日記のプロフィール画像。
余談だけど、このプロフィール画像は「ウネウネしすぎ」って言われたりする。
僕はもう完全に慣れちゃってるからなんとも思わないけど
じっと見つめてみると、けっこうウネウネしてますな。こいつ。
別のに変えた方がいいのかなぁ。
追記
プロフィール画像はまだしばらくウネウネのままでいこうと思う。
スターでのコメントありがとうございます!
追記2
以下のようにすれば "open-uri" でもできるみたい。
こっちの方が分かりやすくていいかも。
require 'open-uri' def save_file(url) filename = File.basename(url) open(filename, 'wb') do |file| open(url) do |data| file.write(data.read) end end end url = 'http://d.hatena.ne.jp/images/diary/g/gan2/gan2_p.gif' save_file(url)