Ruby:
Аналіз HTML
Як це зробити:
Щоб парсити HTML у Ruby, встановіть гем ‘Nokogiri’ за допомогою команди gem install nokogiri
. Nokogiri - це як швейцарський нож для роботи з HTML і XML у Ruby. Ось швидкий приклад:
require 'nokogiri'
require 'open-uri'
# Завантаження вмісту HTML з веб-сайту
html_content = URI.open('http://example.com').read
# Парсинг HTML
doc = Nokogiri::HTML(html_content)
# Екстракція заголовку
title = doc.xpath('//title').text
puts "Заголовок сторінки: #{title}"
Це виведе щось на кшталт: Заголовок сторінки: Example Domain
.
Поглиблено
На зорі Ruby, варіанти парсингу HTML були обмежені. REXML був вбудований, але повільний. Потім з’явився Hpricot, але його час швидко минув. Nokogiri з’явився у 2008 році, поєднуючи в собі простоту Hpricot зі швидкістю та потужністю libxml, перевіреного інструментарію для роботи з XML.
У світі парсингу завжди є альтернативи. Деякі віддають перевагу вбудованій бібліотеці ‘rexml’ або ‘oga’, іншому парсеру XML/HTML для Ruby. Але Nokogiri залишається фаворитом за його надійність і швидкість, не кажучи вже про величезний набір функцій.
Під капотом, Nokogiri перетворює HTML у Document Object Model (DOM) - структуру у вигляді дерева. Це робить його легким для навігації та маніпуляції елементами. Використовуючи XPath та CSS селектори, ви можете виокремити будь-яку інформацію, яка вам потрібна.
Дивіться також
- Гем Nokogiri: https://nokogiri.org/
- Документація Ruby’s rexml: https://ruby-doc.org/stdlib-2.6.3/libdoc/rexml/rdoc/REXML/Document.html
- Альтернативний парсер ‘oga’: https://github.com/YorickPeterse/oga
- Дізнайтеся про XPath: https://www.w3schools.com/xml/xpath_intro.asp