Ruby 提取类中的链接

Ruby 提取类中的链接,ruby,nokogiri,Ruby,Nokogiri,类2中有两个链接,我需要分别提取属于这些链接的文本。我该怎么做呢?试试这个: 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}" 假设锚点具有所需的类(并且不在该类的父类之下): do

类2中有两个链接,我需要分别提取属于这些链接的文本。我该怎么做呢?

试试这个:

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}"

假设锚点具有所需的类(并且不在该类的父类之下):

doc=Nokogiri::HTML('foobar')
div=doc.at_css('div')
两者都=div.xpath('./*[@class=“c2”]/text()).map(&:text)
p两者
#=>[“foo”,“bar”]
如果锚固件在类别内:

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('foobar')
div=doc.at_css('div')
两者都=div.xpath('./*[@class=“c2”]///a/text()).map(&:text)
p两者
#=>[“foo”,“bar”]

以后,请提供您正在解析的XML/HTML示例以及您希望获得的输出。很难确切地知道你的意思。
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"]