1. Товары
  2.   HTML
  3.   Ruby
  4.   Nokogiri
 
  

Бесплатная Ruby-библиотека для чтения, записи и парсинга HTML файлов

Открытая Ruby-библиотека для работы с HTML и XML документами. Она поддерживает чтение, запись, изменение и запросы к HTML документам через Ruby API.

В мире веб‑разработки разбор и манипулирование HTML‑ и XML‑документами являются обычными задачами. Язык программирования Ruby предлагает мощный инструмент для решения этих задач через библиотеку Nokogiri. Nokogiri предоставляет элегантный и эффективный способ разбора и манипулирования HTML‑ и XML‑документами, делая её незаменимым инструментом в наборе любого разработчика Ruby. Будь вы новичком или опытным разработчиком, библиотека упрощает процесс работы со структурированными документами в Ruby.

Nokogiri — это очень мощный открытый Ruby‑gem, который служит мостом между языком программирования Ruby и библиотеками libxml2 и libxslt. Он позволяет разработчикам программного обеспечения легко разбирать и манипулировать как HTML, так и XML документами. Будь то сбор данных с веб‑сайтов, извлечение информации из XML‑ориентированных API или выполнение трансформаций структуры документов, он упрощает эти задачи. Библиотека поддерживает поиск по документу через XPath 1.0, валидацию схем XSD, парсеры DOM или SAX для XML, трансформацию XSLT, HTML4 и HTML5 и т.д.

Nokogiri включил простой в понимании API для чтения, записи, изменения и запросов к документам. Библиотека предоставляет полную поддержку кодировки документов. Чтобы правильно обрабатывать кодировку документа, всегда рекомендуется явно задавать кодировку. Ее простота использования, мощные методы выбора и эффективные возможности манипуляции делают её отличным выбором для задач, таких как веб-скрейпинг, обработка XML и парсинг HTML. Так что вперёд, изучайте её возможности и раскрывайте потенциал эффективного парсинга и манипуляции документами в ваших Ruby‑проектах.

Previous Next

Начало работы с Nokogiri

Рекомендуемый и самый простой способ установить Nokogiri — использовать RubyGems, инструмент управления зависимостями для Ruby. Пожалуйста, используйте следующую команду для плавной установки.

Установить Nokogiri через RubyGemsx

$ gem install nokogiri

Вы также можете установить его вручную; скачайте последние файлы релиза напрямую из репозитория GitHub.

Разбор HTML‑документов через Ruby API

Открытая библиотека Nokogiri включает поддержку загрузки и разбора HTML, а также XML‑документов в приложениях Ruby. Разбор HTML и XML‑документов является краеугольным камнем возможностей Nokogiri. Библиотека предоставляет два основных способа разбора документов: из файла или из строки. Чтобы достичь цели, сначала используйте её классы Nokogiri::HTML для создания объекта документа, а затем можете обходить документ с помощью различных методов и селекторов, похожих на CSS или XPath. Ниже приведён пример, показывающий, как разработчики могут разбирать и выполнять запросы к документу с помощью команд Ruby.

Как разбирать и запрашивать HTML‑документ внутри Ruby‑приложений?

#! /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

Изменение HTML/XML‑документов с помощью Ruby

Библиотека Nokogiri является ценным ресурсом для любого разработчика Ruby, которому необходимо работать с HTML и XML‑документами. Библиотека упрощает загрузку и манипуляцию HTML‑ или XML‑документами с помощью кода Ruby. Она позволяет разработчикам изменять документы, добавляя, обновляя или удаляя элементы и атрибуты. Это особенно полезно, когда нужно манипулировать веб‑страницами или генерировать динамический контент. Ниже приведён пример, показывающий, как разработчики могут добавить новый элемент в HTML‑документ внутри приложений Ruby.

Как добавить новый элемент в HTML‑документ с помощью Ruby API?

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)

Использование XPath и CSS‑селекторов через Ruby

Библиотека с открытым исходным кодом Nokogiri предоставляет широкий набор методов для поиска конкретных элементов в документе. Она позволяет пользователям использовать как XPath, так и CSS-селекторы для навигации и выбора элементов в разобранном документе внутри Ruby‑приложений. Это упрощает извлечение конкретной информации или манипулирование структурой документа. Ниже приведены примеры, показывающие, как легко разработчикам программного обеспечения выбирать элементы с помощью XPath, а также CSS-селекторов, используя команды Ruby.

Как выбрать элементы с помощью XPath или CSS‑селектора через Ruby API?

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)

 Русский