doc.xpath("//div[@id='Ci_']").each_with_index do |div,i|
parse_file.puts "#{div.at_xpath("./*[@class='class1']").text}"
parse_file.puts "#{div.at_xpath("./*[@class='class2']").text}"
class2中有两个链接,我需要分别提取属于这些链接的文本。我怎么能这样做?
答案 0 :(得分:1)
试试这个:
doc.search("#Ci_ .class1 a").first.text
doc.search("#Ci_ .class2 a").last.text
答案 1 :(得分:1)
假设锚点具有您想要的类(并且不属于该类的父级):
doc = Nokogiri::HTML('<div><a class="c2">foo</a><a class="c2">bar</a></div>')
div = doc.at_css('div')
both= div.xpath('./*[@class="c2"]/text()').map(&:text)
p both
#=> ["foo", "bar"]
如果锚点在班级内:
doc = Nokogiri::HTML('<div><b class="c2"><a>foo</a><a>bar</a></b></div>')
div = doc.at_css('div')
both= div.xpath('./*[@class="c2"]//a/text()').map(&:text)
p both
#=> ["foo", "bar"]