指定したサイト上のjpgのリンク先を一気に保存するスクリプト
ファイルを保存する作業って案外大変ですよね。というわけでスクリプトを書いてみました。友人から着想を得てから一気に書いたのでかなり粗びきですが、公開公開。
require 'nokogiri' require 'open-uri' require 'date' class Test @ary = Array.new # 指定したサイトの画像ファイルリンクの一覧の取得する def get_url html = Nokogiri::HTML(open'http://<指定したサイト>.html') ary = Array.new html.search("a").each do |img| if /\.(jpg|png|gif)$/ =~ img['href'] ary << img['href'] end end @ary = ary end # ファイルの書き出しを行う def file_get(ary) ary.each do |url| p url # ファイル名を決定(オリジナルのファイル名を採用) filename = File.basename(url) # ファイルを保存するディレクトリ名を指定 dirname = "/Users/hoge/hogehoge/imag/" + filename open(dirname, 'wb') do |file| open(url) do |data| file.write(data.read) end end end end end
以上です。Nokogiriが本当に便利でした。かなりパワフル。
今後はサイトの指定とか、ダウンロードしたファイルの確認ができるUIを作って、簡単なDLクライアントアプリケーションにしていこうかな。とりあえずは自分の作業低減に一役も二役も買ってくれそうで満足です。