Ruby の mechanize を使用して Web ページ内の img を取得する
Ruby で Web ページ内の画像URLを取得したかったんですが『mechanize を使うと楽』と教えてもらったので試してみました。
確かに楽ちんでした。
[インストール]
gem でインストールします。
$ gem install mechanize
[ソース]
require "mechanize" agent = Mechanize.new agent.get("http://vim-jp.org/") puts agent.page.image_urls
[出力]
http://vim-jp.org/assets/images/vim2-128.png http://b.hatena.ne.jp/entry/image/large/http://vim-jp.org http://b.hatena.ne.jp/entry/image/http://vim-jp.org/blog/2013/03/08/vim_advent_calendar_2012_98th_day.html http://b.hatena.ne.jp/entry/image/http://vim-jp.org/blog/2013/03/02/vimmers.html http://b.hatena.ne.jp/entry/image/http://vim-jp.org/blog/2013/01/24/vim_charity_financial_results.html http://b.hatena.ne.jp/entry/image/http://vim-jp.org/blog/2012/12/11/vim_2013_calendar.html http://b.hatena.ne.jp/entry/image/http://vim-jp.org/blog/2012/12/05/vim_charity_project_visit_report.html http://b.hatena.ne.jp/entry/image/http://vim-jp.org/vimmagazine/2013/04/30/vimmagazine.html http://b.hatena.ne.jp/entry/image/http://vim-jp.org/vimmagazine/2013/03/31/vimmagazine.html http://b.hatena.ne.jp/entry/image/http://vim-jp.org/vimmagazine/2013/02/28/vimmagazine.html http://b.hatena.ne.jp/entry/image/http://vim-jp.org/vimmagazine/2013/01/31/vimmagazine.html http://b.hatena.ne.jp/entry/image/http://vim-jp.org/vimmagazine/2012/12/31/vimmagazine.html http://b.hatena.ne.jp/entry/image/http://vim-jp.org/docs/how_to_write_patches.html http://b.hatena.ne.jp/entry/image/http://vim-jp.org/docs/build_windows_msvc.html http://b.hatena.ne.jp/entry/image/http://vim-jp.org/docs/build_windows_mingw.html http://b.hatena.ne.jp/entry/image/http://vim-jp.org/docs/build_linux.html http://b.hatena.ne.jp/entry/image/http://vim-jp.org/docs/install_windows.html http://b.hatena.ne.jp/entry/image/http://vim-jp.org/docs/binary.html http://b.hatena.ne.jp/entry/image/http://vim-jp.org/tips/list.html http://vim-jp.org/assets/images/feed-icon-green-64.png
こんな感じです。
だいぶすっきりとしたコードになっていますね。
image 以外の情報も割と簡単に取得できるみたいです。