1. 产品
  2.   HTML
  3.   Ruby
  4.   Nokogiri
 
  

免费 Ruby 库,用于读取、写入和解析 HTML 文件

开源 Ruby 库用于处理 HTML 和 XML 文档。它支持通过 Ruby API 读取、写入、修改和查询 HTML 文档。

在网页开发领域,解析和操作 HTML 与 XML 文档是常见的任务。Ruby 编程语言通过 Nokogiri 库提供了一个强大的工具来处理这些任务。Nokogiri 为解析和操作 HTML 与 XML 文档提供了优雅且高效的方式,使其成为任何 Ruby 开发者工具箱中的必备工具。无论你是初学者还是有经验的开发者,该库都简化了在 Ruby 中处理结构化文档的过程。

Nokogiri 是一个非常强大的开源 Ruby gem,充当 Ruby 编程语言与 libxml2 和 libxslt 库之间的桥梁。它让软件开发者能够轻松解析和操作 HTML 与 XML 文档。无论是从网站抓取数据、从基于 XML 的 API 提取信息,还是对文档结构进行转换,Nokogiri 都能简化这些任务。该库支持通过 XPath 1.0 进行文档搜索、XSD 模式验证、XML 的 DOM 或 SAX 解析、XSLT 转换、HTML4、HTML5 等。

Nokogiri 已包含易于理解的 API,用于读取、写入、修改和查询文档。该库提供了对文档编码的完整支持。为正确处理文档编码,始终建议显式设置编码。其易用性、强大的选择方法和高效的操作能力使其成为网页抓取、XML 处理和 HTML 解析等任务的绝佳选择。所以,尽情探索其功能,释放在 Ruby 项目中高效文档解析和操作的潜力。

Previous Next

开始使用 Nokogiri

推荐且最简便的安装 Nokogiri 方法是使用 RubyGems——Ruby 的依赖管理工具。请使用以下命令进行顺利安装。

通过 RubyGems 安装 Nokogiri

$ gem install nokogiri

您也可以手动安装;直接从 GitHub 仓库下载最新发布文件。

通过 Ruby API 解析 HTML 文档

开源的 Nokogiri 库已在 Ruby 应用程序中加入了加载和解析 HTML 以及 XML 文档的支持。解析 HTML 和 XML 文档是 Nokogiri 能力的基石。该库提供了两种主要的文档解析方式:从文件或从字符串。要实现此目标,首先使用其 Nokogiri::HTML 类创建文档对象,随后可以使用各种方法和选择器(类似于 CSS 或 XPath)遍历文档。下面的示例展示了软件开发者如何使用 Ruby 命令解析和查询文档。

如何在 Ruby 应用中解析和查询 HTML 文档?

#! /usr/bin/env ruby

require 'nokogiri'
require 'open-uri'

# Fetch and parse HTML document
doc = Nokogiri::HTML(URI.open('https://nokogiri.org/tutorials/installing_nokogiri.html'))

# Search for nodes by css
doc.css('nav ul.menu li a', 'article h2').each do |link|
  puts link.content
end

# Search for nodes by xpath
doc.xpath('//nav//ul//li/a', '//article//h2').each do |link|
  puts link.content
end

# Or mix and match
doc.search('nav ul.menu li a', '//article//h2').each do |link|
  puts link.content
end

通过 Ruby 修改 HTML/XML 文档

Nokogiri 库是任何需要处理 HTML 和 XML 文档的 Ruby 开发者的宝贵资产。该库使软件开发者能够轻松使用 Ruby 代码加载和操作 HTML 或 XML 文档。它使开发者可以通过添加、更新或删除元素和属性来修改文档。这在需要操作网页或生成动态内容时尤为有用。下面的示例展示了软件开发者如何在 Ruby 应用程序中向 HTML 文档添加新元素。

如何通过 Ruby API 向 HTML 文档添加新元素?

new_element = Nokogiri::XML::Node.new('p', doc)
new_element.content = 'This is a new paragraph.'

# Add the new element to the document
doc.root.add_child(new_element)

通过 Ruby 使用 XPath 和 CSS 选择器

开源的 Nokogiri 库提供了丰富的方法来搜索文档中的特定元素。它允许用户在 Ruby 应用程序中使用 XPath 和 CSS 选择器来导航和选择已解析文档中的元素。这使得提取特定信息或操作文档结构变得容易。以下示例展示了软件开发者如何使用 Ruby 命令轻松地通过 XPath 以及 CSS 选择器来选择元素。

如何通过 Ruby API 使用 XPath 或 CSS 选择器选择元素?

new_element = Nokogiri::XML::Node.new('p', doc)
new_element.content = 'This is a new paragraph.'

# Add the new element to the document
doc.root.add_child(new_element)

 中国人