Skip to content

Instantly share code, notes, and snippets.

@hiroshiro
Created February 12, 2014 19:31
Show Gist options
  • Save hiroshiro/8962833 to your computer and use it in GitHub Desktop.
Save hiroshiro/8962833 to your computer and use it in GitHub Desktop.
getHttpJpg.rb : JPGフォルダにjpgがダウンロードされるRubyのコード。
##
#getHttpJpg.rb
#
#使い方
#
# 例
# ruby getHttpJpg.rb http://himasoku.com/archives/51824048.html
# JPGフォルダにjpgがダウンロードされる。
#
##
##
# hpricotを使う。
# gem install hpricot
##
require 'hpricot'
require 'open-uri'
##
# 引数をurlにする。
##
$url = ARGV[0]
doc = Hpricot(open($url).read)
##
# 空の保存ファイルを作る。
##
Dir.mkdir("./JPG") unless Dir.exist?("./JPG")
##
# カレントディレクトリをJPGファイルにする。
##
Dir.chdir("./JPG")
##
# ファイルをセーブする。
##
def save_file(url)
filename = File.basename(url)
open(filename, 'wb') do |file|
open(url) do |data|
file.write(data.read)
end
end
end
##
# jpgがあればURLを渡す。
##
def extract_jpg(doc)
(doc/:img).each do |link|
yield link[:src].to_s if link[:src] =~ /\.jpg?g$/
end
end
##
# jpgファイルを保存する。
##
def save_jpg_files(doc)
extract_jpg(doc) {|url| save_file(url)}
end
save_jpg_files(doc)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment