# sparklemotion/nokogiri

Nokogiri (鋸) makes it easy and painless to work with XML and HTML from Ruby.

Repository: https://github.com/sparklemotion/nokogiri
Canonical: https://ross.abutalabs.com/products/nokogiri
Homepage: https://nokogiri.org/
Language: C
License: MIT
License Family: permissive
Topics: ruby, nokogiri, xml, sax, ruby-gem, xslt, xerces, libxml2, libxslt
Last push: 2026-08-26T13:18:56+00:00

## Health v2 (maintenance only)
Score: 96/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 99, release rhythm 89, longevity 100
- inputs: {"age_days": 6624, "days_push": 7, "days_rel": 76, "gap_med": 20.5, "n_releases_24m": 21}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 6277, forks 942 (observed 2026-08-28T04:09:41.218961+00:00)

## What it is
Nokogiri is a Ruby library for parsing, querying, modifying, and generating XML and HTML documents, built on native parsers like libxml2, libgumbo, and xerces. It supports DOM, SAX, and push parsing, XPath 1.0 and CSS3 selector search, XSD validation, XSLT transformation, and a Builder DSL.

## Use cases
- parse html from a webpage in ruby
- scrape data from html tables
- query xml documents with xpath
- validate xml against an xsd schema
- transform xml with xslt
- build and generate xml documents in ruby
- extract links from an html page

## When to choose
- you need fast, standards-compliant XML/HTML parsing in Ruby or JRuby
- you want XPath or CSS selector querying of documents
- you need secure-by-default parsing of untrusted documents
- you need SAX or streaming parsing for large documents

## When to avoid
- you are not working in Ruby
- you need a lenient, forgiving scraper for badly broken HTML beyond what libgumbo handles
- you need XPath 2.0+ features (only XPath 1.0 is supported)

## Facets
- artifact type: library
- maturity: stable
- function: parser, web-scraping, serialization
- domain: parsers, web-development, developer-tools
- platform: ruby, jvm, windows, cross-platform
- tags: xml, html, html5, xpath, css-selectors, xslt, sax-parser, dom, libxml2, ruby-gem, schema-validation, linux, macos

## Member repositories
- sparklemotion/nokogiri (main) score 96

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:09:41.218961+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:46:28.563897+00:00, confidence not recorded.
  - readme: https://github.com/sparklemotion/nokogiri (fetched 2026-08-28T04:09:41.218961+00:00, sha 58c0dcb1736a)
  - homepage: https://nokogiri.org/ (fetched 2026-08-29T08:43:06.216575+00:00, sha 35f2e4961df1)
  - site_page: https://nokogiri.org/tutorials/installing_nokogiri.html (fetched 2026-08-29T08:43:06.261256+00:00, sha a3764f66ca2c)
  - site_page: https://nokogiri.org/CHANGELOG.html (fetched 2026-08-29T08:43:06.265399+00:00, sha 773c356568cf)
  - site_page: https://nokogiri.org/CONTRIBUTING.html (fetched 2026-08-29T08:43:06.268419+00:00, sha d1bbe1a85d22)
  - site_page: https://nokogiri.org/misc/CHANGELOG-archive.html (fetched 2026-08-29T08:43:06.271132+00:00, sha 13cd56f09a9c)
  - site_page: https://nokogiri.org/rdoc/index.html (fetched 2026-08-29T08:43:06.275762+00:00, sha 212e5b53c40b)
- Data as of 2026-08-30T08:39:29.467469+00:00.
