[ruby]
[ruby_library]
[html]
RubyのHTMLを解析するパーサはいろいろありますが、今回は hpricot を使ってみました。
gemでインストールできるので簡単。
サンプル。
require 'rubygems'
require 'hpricot'
doc = Hpricot(%{<a class=l href="hogehoge">bar</a>baz})
doc.search("a").map {|i| [ i['href'], i.inner_html ] }
#=> [["hogehoge", "bar"], ["foo", "baz"]]
HTMLページの読み込み
doc = Hpricot("<p>A simple <b>test</b> string.</p>")
open-uriを使えばこんな風にURL先のHTMLを取得できます。
require 'open-uri'
doc = Hpricot(open("http://www.ruby-lang.org/"))
要素の検索
class="section" な div 要素。配列を返します。
doc.search("div.section")
要素内の中身を得る
inner_html メソッドを使います。 以下の例では、最初の、class="section" な div 要素の中身を返します。
(doc.search("div.section")).first.inner_html
他にも削除書き換え等もできるようです。