使用Nokogiri解析带有一些html标签的网页

时间:2011-04-25 19:15:26

标签: ruby nokogiri

例如:

content=Nokogiri::HTML(open(url)).at_css(".appwindow").text

此示例解析来自.appwindow的文本(仅限文本)。 如何使用<p>代码解析此文本?

1 个答案:

答案 0 :(得分:0)

我认为您要查找具有appwindow类的第一个元素的完整HTML,或者可能是内部HTML。如果是这样的话:

require 'nokogiri'
html = Nokogiri::HTML <<ENDHTML
  <div id='menu'>menu</div>
  <div class='appwindow'><p>Hello <b>World</b>!</p></div>
ENDHTML

puts html.at_css('.appwindow').text
#=> Hello World!

puts html.at_css('.appwindow').to_html
#=> <div class="appwindow"><p>Hello <b>World</b>!</p></div>

puts html.at_css('.appwindow').inner_html
#=> <p>Hello <b>World</b>!</p>

有关您可以使用的其他选项,请参阅methods on Nokogiri::XML::Node列表。