2010-03-31 10 views

Antwort

43

Es gibt (noch) keinen integrierten HTML-Parser, aber einige sehr gute sind verfügbar, insbesondere Nokogiri.

Meta-Antwort: Für allgemeine Bedürfnisse wie diese würde ich empfehlen, die Ruby Toolbox Website auschecken. Sie werden bemerken, dass Nokogiri die beste Empfehlung für HTML parsers

9

Sie sollten hpricot auschecken. Es ist außerordentlich gut. Es ist kein 'Kern' Rubin, aber es ist ein häufig verwendeter Edelstein.

+2

Hpricot leider nicht mehr. Nokogiri ist jetzt die bevorzugte Lösung. – superluminary

5

Sie können auch versuchen Oga von Yorick Peterse.

Dies ist ein in Ruby geschriebener XML/HTML-Parser, der keine Systembibliotheken wie libxml benötigt. Sie können es hier finden. https://github.com/YorickPeterse/oga

2

Ruby Cheerio - Ein HTML-Parser im jQuery-Stil in Ruby. Eine sehr vereinfachte Version von Nokogiri für Crawler. Dies ist die Ruby-Version des beliebtesten NodeJS-Pakets cheerio.

Follow the link for a simple crawler example.

gem install ruby-cheerio

require 'ruby-cheerio' 

jQuery = RubyCheerio.new("<html><body><h1 class='one'>h1_1</h1><h1>h1_2</h1></body></html>") 

jQuery.find('h1').each do |head_one| 
    p head_one.text 
end 

# getting attribute values like jQuery. 
p jQuery.find('h1.one')[0].prop('h1','class') 

# function chaining similar to jQuery. 
p jQuery.find('body').find('h1').first.text 
+0

Sehr gute Annäherung! Nette Empfehlung! Danke @dineshsprabu. –

+0

Danke Fernando Kosh – dineshsprabu

Verwandte Themen