RSSから、オリジナルの画像のURLを取ってくるスクリプト。どうやらRSSでは100件しか配信されないっぽいのだが、このスクリプトの出力をファイルにして、wget -i このスクリプトの出力ファイル
とすると、100件までならダウンロードできる。
RSSのURLを直書きしているので、必要に応じて書き換えること。#!/usr/bin/ruby
#
require 'rubygems'
require 'open-uri'
require 'rexml/document'
require 'net/http'
require 'base64'
require 'pp'
Net::HTTP.version_1_2
$KCODE = 'UTF8'
AGENT = 'dumpPhotozou.rb/ruby/#{RUBY_VERSION}'
def readPhotozou
begin
src = open("http://photozou.jp/feed/photo_list/72624/all.xml",
"User-Agent" => AGENT) {|f|
f.read
}
rescue
return $false
end
doc = REXML::Document::new(src).root
if doc.nil?
return $false
end
doc.elements.to_a('//item').reverse.each {|item|
if (item.nil? || item.elements['link'].nil? || item.elements['link'].text.nil?)
next
end
if /.*\/(.*)$/ =~ item.elements['link'].text
id = $1
begin
photo_src = open("http://api.photozou.jp/rest/photo_info?photo_id=#{id}") {|f|
f.read
}
rescue
return $false
end
photo = REXML::Document::new(photo_src).root
if photo.nil?
return $false
end
puts(photo.elements.to_a('//original_image_url')[0].text)
end
} # end of each
end # end of def
if !readPhotozou
puts "error"
end
不要なコードが残っていたので消したけど、まだ残っているかな?