我正在使用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?}