如何在偶数位置提取文本



我正在使用Nokogiri提取一个页面,该页面返回一个Nokogiri::XML::NodeSet。由此,我只想从偶数节点中提取文本。

doc.search("h2 a").class #=> Nokogiri::XML::NodeSet
doc.search("h2 a").count #=> returns 148

我对0,2,4,8等感兴趣:

doc.search("h2 a")[0].text #=> the one I wanted.
doc.search("h2 a")[2].text #=> the one I wanted.

尝试以下操作:

doc.search("h2 a").map.with_index(0) do |i,nd|
    i.text if nd.even?
end.compact

也许您想要每个均匀定位的a节点:

doc.search("h2 a:nth-child(even)")

或者你可能正在寻找所有其他节点:

doc.search("h2 a").select.with_index{|a, i| i.even?}

相关内容

  • 没有找到相关文章

最新更新