我正在使用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.
答案 0 :(得分:6)
尝试以下方法:
doc.search("h2 a").map.with_index(0) do |i,nd|
i.text if nd.even?
end.compact
答案 1 :(得分:3)
也许你想要每个偶数定位的a
节点:
doc.search("h2 a:nth-child(even)")
或者您正在寻找所有其他节点:
doc.search("h2 a").select.with_index{|a, i| i.even?}