Ruby:
HTMLの解析

方法:

RubyでHTMLをパースするには、gem install nokogiriで’Nokogiri’ジェムをインストールします。Nokogiriは、RubyでHTMLとXMLを扱うためのスイスアーミーナイフのようなものです。こちらが簡単な例です:

require 'nokogiri'
require 'open-uri'

# ウェブサイトからHTMLコンテンツを読み込む
html_content = URI.open('http://example.com').read

# HTMLをパースする
doc = Nokogiri::HTML(html_content)

# タイトルを抽出する
title = doc.xpath('//title').text
puts "ページのタイトルは:#{title}"

これは次のような結果を出力します:ページのタイトルは:Example Domain

詳細解説

初期のRuby時代には、HTMLをパースする選択肢は限られていました。REXMLは組み込まれていましたが遅かったです。その後Hpricotが登場しましたが、それは消えてしまいました。Nokogiriは2008年に登場し、Hpricotの簡単さと、実績のあるXMLツールキットであるlibxmlの速度と力を組み合わせました。

パースの世界には常に代替品があります。一部の人々は、組み込みの’rexml’ライブラリや、Rubyの別のXML/HTMLパーサである’oga’を信じています。しかし、その堅牢性と速度、そして豊富な機能の配列で、Nokogiriはお気に入りのままです。

内部的には、NokogiriはHTMLをドキュメントオブジェクトモデル(DOM)—ツリー構造に変換します。これにより、要素を簡単にナビゲートして操作できます。XPathとCSSセレクタを使用して、必要な情報の任意の部分を特定できます。

参考