2010-03-31 28 views

Trả lời

43

Hiện chưa có trình phân tích cú pháp HTML được tích hợp sẵn, nhưng một số trình phân tích cú pháp HTML rất tốt có sẵn, cụ thể là Nokogiri.

Câu trả lời meta: Đối với các nhu cầu chung như vậy, tôi khuyên bạn nên xem trang web Ruby Toolbox. Bạn sẽ nhận thấy rằng Nokogiri là đề xuất hàng đầu cho HTML parsers

9

Bạn nên xem hpricot. Nó cực kỳ tốt. Nó không phải là 'cốt lõi' ruby, nhưng nó là một viên ngọc thường được sử dụng.

+2

Hpricot buồn bã là không còn nữa. Nokogiri bây giờ là giải pháp ưu tiên. – superluminary

5

Bạn cũng có thể thử Oga bởi Yorick Peterse.

Đây là trình phân tích cú pháp XML/HTML được viết bằng Ruby không yêu cầu thư viện hệ thống như libxml. Bạn có thể tìm thấy nó ở đây. https://github.com/YorickPeterse/oga

2

Ruby Cheerio - Trình phân tích cú pháp HTML kiểu jQuery trong ruby. Một phiên bản đơn giản nhất của Nokogiri cho trình thu thập thông tin. Đây là phiên bản ruby ​​của gói NodeJS phổ biến nhất 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

Cách tiếp cận rất tốt! Đề nghị tốt đẹp! Cảm ơn @dineshsprabu. –

+0

Cảm ơn Fernando Kosh – dineshsprabu

Các vấn đề liên quan