require 'open-uri' require 'hpricot' require 'zip/zip' def name str arr=str.split("/") arr[arr.length - 1] end savedir='D:\Downloaded Files' #保存ディレクトリ if ARGV.length > 0
doc = Hpricot(open(ARGV[0]).read) links=[] (doc/:a).each do |link| links << link[:href] if link[:href] != nil && link[:href].downcase =~ /\.(jpeg|jpg|png)$/ end links.each do |link| f=open(savedir + '\\' + name(link),"wb+") begin f.write(open(link,"rb").read) puts name(link) + 'をダウンロードしました。' rescue
ensure f.close end end #ディレクトリから容量0のファイルを削除
begin File.delete( savedir + '\\' + name ) if File.file?(savedir + '\\' + name) && File.zero?(savedir + '\\' + name) rescue p $! p $@ end end delList=[] Zip::ZipFile.open(savedir + '\\' + name(ARGV[0]) + '.zip', Zip::ZipFile::CREATE) do |zipfile| Dir.open(savedir).each do |name| begin if File.file?(savedir + '\\' + name ) puts name zipfile.add(name ,savedir + '\\' + name ) delList << savedir + '\\' + name end rescue p $! p $@ end end end delList.each do |f| begin File.delete(f) rescue p $! p $@ end end else puts '引数に画像サイトのURIを指定してください' end