うめすこんぶ

日々のプログラミングで残しておきたいメモ.何かの役に立てれば幸いです.

nokogiri.rbの使用方法をまとめた

スポンサーリンク

nokogiri.rbの主な使用方法のまとめです。

# htmlをデータ抽出用のNokogiriオブジェクトに変換
doc = Nokogiri::HTML.parse(open("http://www.google.com/search?q=ruby&hl=ja"))


# CSSセレクタ
# ※CSSセレクタを使用すれば、任意の要素を抽出できます。
# XPATHで要素を選択する事もできますが今回は割愛。

# h3の要素をもつ要素を抽出する:
nodes = doc.css('h3')
# ※通常は、複数の要素がCSSセレクタの条件に該当するので、nodesは配列になっています。

# クラスが「r」の要素をもつ要素を抽出する:
nodes = doc.css('.r')

# idが「search」の要素をもつ要素を抽出する:
nodes = doc.css('#search')

# タグが「h3」でclass「r」である要素をもつ要素を抽出する:
nodes = doc.css('h3.r')


# 親要素を取り出す
p node.parent

# 子要素を取り出す
p node.children

# 兄弟要素で自分の次の要素を取り出す
p node.next_sibling

# 兄弟要素で自分の前の要素を取り出す
p node.previous_sibling

# 要素内の文字列を取り出す
p node.text

# タグが「h3」でclass「r」である要素をもつ要素の文字列を表示する
noko.css('h3.r').each do |node|
  puts node.text 
end