Безкоштовна Ruby-бібліотека для читання, запису та парсингу HTML файлів
Бібліотека Ruby з відкритим кодом для роботи з HTML та XML документами. Вона підтримує читання, запис, модифікацію та запитування HTML документів через Ruby API.
У світі веб‑розробки аналіз та маніпулювання HTML‑ і XML‑документами є поширеними завданнями. Мова програмування Ruby пропонує потужний інструмент для виконання цих завдань за допомогою бібліотеки Nokogiri. Nokogiri забезпечує елегантний та ефективний спосіб парсингу та маніпулювання HTML‑ і XML‑документами, роблячи її незамінним інструментом у наборі будь‑якого Ruby‑розробника. Незалежно від того, чи ви новачок, чи досвідчений розробник, бібліотека спрощує процес роботи зі структурованими документами в Ruby.
Nokogiri — це дуже потужний open source Ruby‑gem, який слугує мостом між мовою програмування Ruby та бібліотеками libxml2 і libxslt. Він дозволяє розробникам програмного забезпечення легко парсити та маніпулювати як HTML-, так і XML‑документами. Незалежно від того, чи ви збираєте дані з веб‑сайтів, витягуєте інформацію з XML‑базованих API, чи виконуєте трансформації структури документів, він спрощує ці завдання. Бібліотека підтримує пошук документів за допомогою XPath 1.0, валідацію XSD‑схем, DOM або SAX‑парсер для XML, трансформації XSLT, HTML4 і HTML5 тощо.
Nokogiri включив простий у використанні API для читання, запису, модифікації та запитів до документів. Бібліотека забезпечує повну підтримку кодування документів. Щоб правильно обробляти кодування документів, завжди рекомендується явно встановлювати кодування. Легкість у використанні, потужні методи вибору та ефективні можливості маніпуляції роблять його відмінним вибором для завдань, таких як веб-скрапінг, обробка XML та парсинг HTML. Тож вперед, досліджуйте його можливості та розкрийте потенціал ефективного парсингу та маніпуляції документами у ваших Ruby‑проектах.
Початок роботи з 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)