Лучший HTML-парсер Rails

Я знаю, что Hpricot по-прежнему является стандартом, но я помню, как слышал о более быстром и выразительном парсере HTML для Ruby.

Кто-нибудь знает, как это называется и стоит ли переходить с Hpricot ??

заранее спасибо

ruby-toolbox.com/categories/html_parsing.html. Я также хочу добавить, что LibXML работает быстро, но не может обрабатывать стандартный веб-дикий HTML.
Chloe 17.02.2014 08:45
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
5
1
14 514
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Ответ принят как подходящий

Вы, наверное, думаете о Нокогири. Сам я им не пользовался, но "все" об этом говорят, и ориентиры действительно выглядит интересно:

hpricot:html:doc  48.930000 3.640000 52.570000 ( 52.900035)
hpricot2:html:doc  4.500000 0.020000  4.520000 (  4.518984)
nokogiri:html:doc  3.640000 0.130000  3.770000 (  3.770642)

Еще одна приятная особенность Nokogiri заключается в том, что он был построен с учетом Hpricot, поэтому синтаксис практически идентичен. Так что переключение не должно иметь для вас большого значения.

mwilliams 27.12.2008 23:12

Также есть Рубиновый суп

Которая продает себя как легкий, быстрый и грязный парсер. Я нашел интерфейс очень интуитивно понятным и «рубиновым», когда использовал его для проекта в прошлом, что, возможно, немного удивительно, учитывая, что это порт Python.

Обновлено: похоже, что, к сожалению, он больше не поддерживается, поэтому, вероятно, это не тот, который вы искали. Похоже, Нокогири - это то, о чем вы слышали.

Не используйте регулярные выражения - регулярные выражения Ruby работают слишком медленно. Hpricot - это круто, а Nokogiri выглядит многообещающе, хотя я еще не использовал его напрямую.

Доступно несколько инструментов. Я использую Нокогири.

Демо:

require 'rubygems'
require 'nokogiri'

doc = Nokogiri::HTML(%{
  <h1 class = "title">Hello, World</h1>
  <p>Some text</p>
  <a href = "http://www.google.com/">Some link</a>
})

title   = doc.at_css("h1.title").text
content = doc.at_css("p").text
url     = doc.at_css("a")[:href]

Райан Бейтс сделал отличный скринкаст об его использовании: # 190: Очистка экрана с помощью Nokogiri.

Документация: http://nokogiri.org/

Учебники: http://nokogiri.org/tutorials

Другие вопросы по теме