如何在 ruby nokogiri 中的两个 div 之间获取文本?

How to get text between two divs in ruby nokogiri?

我想解析两个 horizontal_lines 之间的文本。

应该是这条横线第一和第二之间的文字。

我想用rubygem'nokogiri',不一定要用xpath。

url = "http://calendar.rop.ru/?idd=167"
page = Nokogiri::HTML(open(url), nil, 'utf-8' )

我的(失败)尝试:

我想到了一个迭代来找到第一个蚂蚁第二行在 div 与 id="block777"

i=2 # because from then on the 1.st line starts 
until /src=\"img\/line.gif\"/ =~ extract 
i += 1; extract = page.xpath('//div[@id="block777"]/div[position()='+i.to_s+']').inner_html` 
puts extract

更多方面:

<div style="border:0px solid silver; width:100%; height:10px; margin:2px;"><img src="img/line.gif" style="width:100%; height:1px; margin-top:4px;"></div>

试试这个

between = doc.at('#block777').children
    .drop_while { |each| each.to_s !~ /line.gif/ }
    .drop(1) 
    .take_while { |each| each.to_s !~ /line.gif/ }

这将跳过子项直到找到第一行,然后跳过该行,然后获取所有子项直到找到另一行。