28th Fri
Mechanizeで画像のURL一覧を取得
WWW::Mechanize::Page#images
WWW::Mechanize::Page は、forms, links メソッドでそれぞれの要素の配列が取得できるが、画像(img)を取得するメソッドはまだないので簡易実装。
ruby>>
require 'mechanize'
WWW::Mechanize::Page.class_eval do
def images
@images ||= search('img').map do |img|
case src = img['src']
when %r{^https?://}
src
else
(uri + src).to_s
end
end.uniq
end
end
<<--
forms, links では Page::XXX オブジェクトが返るので、
同様に Page::Image オブジェクトを作成するのが正しい姿であるが、
今はページの画像のURL一覧が欲しいだけなので、割愛。
そこは誰かに任せた。
ruby>>
agent = WWW::Mechanize.new
page = agent.get('http://blog.s21g.com/')
page.forms.size # => 1
page.links.size # => 109
page.images.size # => 17
<<--
とりあえず快適!
posted by
maiha on Fri 28 Aug 2009 at 09:32 with 0 comments