OSS探訪GitHubでログイン

RubyからHTMLとXMLを解析・検索・変換できるドキュメント処理ライブラリ

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
6,284
主要言語
C
ライセンス
MIT
リポジトリ最終更新
2026/10/03
ページ内ナビ

概要

Nokogiriは、RubyでHTML4・HTML5・XMLを読み書きし、CSSセレクターやXPathで要素を検索するためのライブラリです。DOM、SAX、XSD検証、XSLT変換を一つのAPI群で扱えます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

HTMLとXMLを複数の方法で処理する

DOMでのHTML4・HTML5・XML解析、XML/HTML4のSAX解析とプッシュ型解析、CSS3セレクターとXPath 1.0による検索、XSD検証、XSLT変換を提供します。

出典:[1][5]

向いている用途

抽出・変換・検証をRubyの処理へ組み込む

Webページから必要な要素を抽出する処理、XML APIやフィードの取り込み、文書形式の検証に向きます。ローカル文字列のHTMLとXMLを解析すれば、ネットワークアクセスなしでAPIの基本動作を確認できます。

出典:[5]

導入前の確認

Ruby実装と解析器の差を意識する

v1.19.4はRuby 3.2以上またはJRuby 10以上を要件とし、CRubyとJRubyでは基盤となる解析器が異なります。またHTML5 APIはJRubyでは利用できません。READMEは解析器間の意味のある挙動差を吸収しない方針も示しているため、本番と同じRuby実装と実行環境で確認が必要です。

出典:[1]

参考にした公式資料

  1. [1]sparklemotion/nokogiri README (1.19.4)(2026-10-04)
  2. [2]sparklemotion/nokogiri GitHub repository metadata(2026-10-04)
  3. [3]sparklemotion/nokogiri license (1.19.4)(2026-10-04)
  4. [4]Nokogiri 1.19.4 release(2026-10-04)
  5. [5]Nokogiri official documentation(2026-10-04)
編集部からの補足

画面スクレイピングだけでなく、XML連携、フィード処理、入力文書の検証にも使えます。外部入力は信頼せず、利用するRuby実装とネイティブgem、基盤となる解析器の組み合わせを固定して検証してください。

3ステップで試す

  1. 1

    CRubyとBundlerを確認して固定版を追加

    HTML5 APIを利用できるCRuby 3.2以上とBundlerを確認し、検証用の依存関係へv1.19.4を固定して導入します。

    ruby -e 'abort "CRuby 3.2+ required for HTML5" unless RUBY_ENGINE=="ruby" && Gem::Version.new(RUBY_VERSION)>=Gem::Version.new("3.2")' && bundle --version && mkdir nokogiri-local && cd nokogiri-local && bundle init && bundle add nokogiri --version 1.19.4
  2. 2

    HTMLとXMLの確認コードを作成

    ローカル文字列のHTML5をCSSセレクターで、XMLをXPathで検索する例を作ります。

    printf '%s\n' 'require "nokogiri"' 'html = Nokogiri::HTML5("<main><h1>OSS探訪</h1></main>")' 'xml = Nokogiri::XML("<items><item id=\"1\">local</item></items>") { |config| config.strict }' 'puts [html.at_css("h1").text, xml.at_xpath("//item[@id=\"1\"]").text].join(" | ")' > parse.rb
  3. 3

    解析結果を確認

    OSS探訪 | localと表示され、HTMLとXMLの両方から目的の値を取得できることを確認します。

    bundle exec ruby parse.rb
公式READMEで確認

成長

成長の推移 · 直近30日

6,284 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
7
Open PR
44

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • ruby
  • nokogiri
  • xml
  • sax
  • ruby-gem
  • xslt
  • xerces
  • libxml2
  • libxslt
Stars
6,284
Forks
950
Watchers
150
Open Issues
88
Contributors
241
所有者種別
Organization
主要言語
C
ライセンス
MIT
リポジトリ最終更新
2026/10/03

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?