Ruby 使用Nokogiri,如何关闭不匹配的标签?

Ruby 使用Nokogiri,如何关闭不匹配的标签?,ruby,nokogiri,Ruby,Nokogiri,我正在用Nokogiri抓取HTML文档,其中许多可能有未关闭的标记。例如,我想关闭“unclosed”标签 我已经看过了文档,看看在哪里,但我没有看到一个好的方法来做到这一点 也许它需要遍历每个元素并关闭任何不匹配的标记?您不必为Nokogiri做任何特殊的操作来关闭未关闭的标记。看看这个: 1.9.3p327 :001 > require 'nokogiri' => true 1.9.3p327 :002 > doc = Nokogiri::XML.parse('<

我正在用Nokogiri抓取HTML文档,其中许多可能有未关闭的标记。例如,我想关闭“unclosed”标签

我已经看过了文档,看看在哪里,但我没有看到一个好的方法来做到这一点


也许它需要遍历每个元素并关闭任何不匹配的标记?

您不必为Nokogiri做任何特殊的操作来关闭未关闭的标记。看看这个:

1.9.3p327 :001 > require 'nokogiri'
 => true 
1.9.3p327 :002 > doc = Nokogiri::XML.parse('<a><b></b>')
 => #<Nokogiri::XML::Document:0xee4a80 name="document" children=[#<Nokogiri::XML::Element:0xee4710 name="a" children=[#<Nokogiri::XML::Element:0xee4508 name="b">]>]>
1.9.3p327:001>要求“nokogiri”
=>正确
1.9.3p327:002>doc=Nokogiri::XML.parse(“”)
=> #

Nokogiri会自动修复它们

您可以使用
internal\u html
获得正确的html代码

require 'rubygems'
require 'nokogiri'
doc = Nokogiri::HTML.parse('<p>')
doc.inner_html # => "<html><body><p></p></body></html>"
需要“rubygems”
需要“nokogiri”
doc=Nokogiri::HTML.parse(“”)
doc.inner_html#=>“


谢谢你,Alex,我确实看到使用它显示了很多关于未关闭标签的错误,但似乎没有返回更正后的正文,这正是我想要的。